"undisclosed-recipients"とは何か、というのが本日のご報告。
電子メールを使っていると「undisclosed-recipients」とアドレス欄に出てくる、という状況に遭遇。
undisclosed-recipients とは?
正確には
'undisclosed-recipients:' <undisclosed-recipients:>;
こういう表記、アドレス欄には通常~@hogedomein.comのようなメールアドレスが表示されるものですが、そういったアドレスの類いは一切表示されず、上述の「undisclosed-recipients」だけが表示される、というメール。
これは、実際に存在している宛先などではなく、メール送信時にToやCCのアドレスが指定されていない状態で、BCCだけメールアドレスが入力された電子メールが処理される過程で(空欄のはずの)アドレス欄に「undisclosed-recipients」と補完されるよう。
「undisclosed-recipients」は日本語に直すと「非公開の受信者」となります。
発端
発端となったのは、ユーザからの連絡。
「メールがエラーになってしまいました!」
という連絡が入ってきたのが夕方くらいの話。さっそくそのエラーメールを見せて貰います。
--------------------------------------------------------------
このメールは、受信者全員または一部に届きませんでした。
件名: テストメール
送信日時: 2021/07/xx 18:48
以下の受信者にメールを配信できません:
'undisclosed-recipients:' 2021/07/xx 18:48
サーバー エラー : '無効な受信者'
--------------------------------------------------------------
ん?
無効な配信先として'undisclosed-recipients:'と表記、なんですか?これは?
「メールがエラーになってしまったので、再送信必要ですよね?
返信する時にアドレスを2・3追加して送ったからそれがエラーになったのかなと…。」
どうも釈然としない、ということで、元の(返信をするときの)メールを見せて貰うと、
--------------------------------------------------------------
From: %送信元メールアドレス1%
Sent: %日時%
To: undisclosed-recipients:
--------------------------------------------------------------
と表示されていました。これが次にユーザの返信で
--------------------------------------------------------------
From: %ユーザのメールアドレス%
Sent: %日時%
To: %送信元メールアドレス1%; 'undisclosed-recipients:' <undisclosed-recipients:>; %追加したメールアドレス1%
Cc: %追加したメールアドレス2%
--------------------------------------------------------------
となっていたので、恐らく受信したメールを「全員に返信」ボタンをクリックしてメール作成したんだろうな、という結論に達しました。
エラーは?
くだんのエラーメールはアドレス(Toの宛先)に「'undisclosed-recipients:' <undisclosed-recipients:>」が混入しているせいでアドレスが解釈できなかったために発生したエラーのようでした。
で、他のToに指定したアドレス宛てにも送信ができていないのであれば、エラーメールには
--------------------------------------------------------------
以下の受信者にメールを配信できません:
%送信元メールアドレス1%; 'undisclosed-recipients:' <undisclosed-recipients:>; %追加したメールアドレス1%
--------------------------------------------------------------
と表記されているはずです。と、いうことは純粋に「'undisclosed-recipients:' <undisclosed-recipients:>;」だけがエラーとして処理されており、「%送信元メールアドレス1%」と「%追加したメールアドレス1%」にはメールが正常に送信できていると判断出来そうでした。
さっそくユーザにはこのことを説明し、一応別の手段でメールが届いたかどうかは確認しておくことをお勧めしましたけど、おそらくは正常に送信できているという旨を伝えて対処完了。
BCCだけを使うと発生する?
「'undisclosed-recipients:' <undisclosed-recipients:>;」の発生条件が気になったので、試しにテストメールを送ってみることにしました。
ちなみにメールソフトはOutlook 2016(バージョン16.0.14228.20200の32ビット版)を使用。
最初に、Office365(Exchange Online)から独自ドメインのメールアドレス(レンタルサーバのメールサーバ使用)にToとCCを空にしてBCCにアドレス指定してメールを送信してみると、
空欄…。
メールサーバとメールソフトが関係しているのかな?と思ったので、次にブラウザで開いたGmailからOffice365(Exchange Online)のアドレスをBCCに指定し(当然ToとCCをは空にして)送信してみると、
…、やっぱり空欄です。undisclosed-recipients出ないですね。
ダメ元でOffice365(Exchange Online)からGmailにも送ってみたけど、
やっぱり、Toは空欄で表示されるよう。なにかBCCを活用した大量メール配信ソフトとかシステムの仕様なのかなぁと思いました。(再現はできなかったため)
結局再現はできなかったけど、undisclosed-recipientsがToやCCを空にしてメールが送信された時に発生するのは間違いないようなので、今後発生した時のために覚えておくようにします。