今日はあまり知られていない機能、電子メールの配信完了報告である「Successful Mail Delivery Report」についてご報告します。
きっかけはユーザからの問合せでした。
ユーザに届いた英語のメール
「メールがエラーになるんですよね。」
ユーザからの問合せを受けた午前中のあるひととき。
「宛先も間違いない、内容にも問題ない、添付ファイルも付けてない、でもエラーメールが届くんですよ。これ、なんなんでしょう?
前回送ったメールはちゃんと届いているんですよ。」
うーんなんでしょね、とりあえずそのメールちょっと見せてくださいな。
「どうしても送りたいメールだから、頼みますよ!」
こうしてその"エラーメール"とやらを確認しました。
エラーメール?
そのメールは
From: Mail Delivery System MAILER-DAEMON@hoge-domain.net]
から送信されていました。
しかしSubjectには「Successful Mail Delivery Report」
?
エラーじゃないの?
内容をよく読んでみると、
----------------------------------------------
This is the mail system at host mailhoge-domain.net.
これは、ホストmailhoge-domain.netのメールシステムです。
Your message was successfully delivered to the destination(s) listed below.
あなたのメッセージは、下記の宛先に正常に配送されました。
If the message was delivered to mailbox you will receive no further notifications. Otherwise you may still receive notifications of mail delivery errors from other systems.
メッセージがメールボックスに配信された場合は、これ以上の通知は受信されません。 そうしないと、他のシステムからのメール配信エラーの通知を引き続き受け取ることがあります。
----------------------------------------------
これに続いて、
----------------------------------------------
<%送信先のメールアドレス%>: delivery via %メールサーバホスト名%[メールサーバのIPアドレス]:25: 250
2.0.0 v5M0utAn013600 Message accepted for delivery
----------------------------------------------
という記述が表記されていました。acceptedって言ってるから正常っぽいなぁ…。
他にもgmailと思える宛先があって、
----------------------------------------------
<%送信先のメールアドレス%>: delivery via
ASPMX.L.GOOGLE.com[メールサーバのIPアドレス]:25: 250 2.0.0 OK 1498093016 36si273915plc.179 - gsmtp
----------------------------------------------
という記述がありますが、「250 2.0.0 OK」と記載があって、どれもこれも成功した記録が並んでいました。
これは?
おそらく、エラーでなく
「相手のメールサーバまでは正常に届きましたよ」
という通知のようです。
なので、結論としては「特に何もしなくていいはず」ということになります。
メールを送信するときに
「配信確認の要求」にチェックがついていると、このような配達完了メールが届くようです。ただ、相手の環境によってはこのリクエストを処理できないメール環境だった場合、こちらのMUA(メーラ)が要求した配信確認を返してくれない、ということもあるようで。相手のメール環境が対応しているかどうかが重要なようっすね。
ちなみにその下の「開封確認の要求」は送信相手がメーラでメールを開くと、送信元に「相手がメール開きましたよ」っていう開封確認のメールが届くやつです。こっちは有名ですね。
おそらく「開封確認の要求」を意図して配信確認の要求にもチェックを付けられてたことと、たまたま送信先のメールサーバ環境で配送確認の機能が使えていたことが要因ではないかと思われました。
「どうしても送りたいメールだから、頼みますよ!」ってかなり力が入っていましたし、開封確認のつもりで両方チェック付けちゃってる可能性を十分に感じます。
さっそくユーザに聞いてみます。
ここのオプション付けましたよね?
「…。
…いや、あんま、覚えてない。」
ですよね!
(うむむ、スッキリしねぇす)
これにて完了。