メール送信時のSMTPエラー"451 4.3.2 Please try again later"の原因を探る

結論:迷惑メール判定されている可能性がある

捨てメアド」サービスから情報処理推進機構(IPA)にメールを送信したところ、なぜか不達となって次のようなリターンメールが返って来た。

Undelivered Mail Returned to Sender

リターンメールのタイトル

This is the mail system at host send4.erinn.biz.

I'm sorry to have to inform you that your message could not be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can delete your own text from the attached returned message.

The mail system

<ipa-touroku-office@ipa.go.jp>: host ipa-sfw11.ipa.go.jp[192.218.88.11] said:
451 4.3.2 Please try again later (in reply to RCPT TO command)

リターンメールの本文

最後の1行にあるエラーメッセージからメール不達の原因を探る。

RFC 5321 – Simple Mail Transfer Protocol

「451」といった3桁の数字はSMTPステータスコードであり、その意味についてはRFC 5321日本語訳)の4.2.1.章で規定されている。

「4yz」は一時的な問題で処理を完了できなかったことを、「x5z」は受信側メールシステムのエラーであることを、「xy1」は更に詳細な理由を表しており、「451」は受信側メールシステムの一時的な問題で処理を完了できなかったことを意味する。

しかし、これだけでは理由が漠然としていて原因を特定できない。

RFC 5248 – A Registry for SMTP Enhanced Mail System Status Codes

「4.3.2」といったピリオド区切りの数字はSMTP拡張ステータスコードであり、その持つ意味についてはRFC 5248日本語訳)で規定されている。といってもRFC 5248は基本的にRFC 3463日本語訳)を参照するよう書かれているので、そちらを読んだ方が早い。

「4.XXX.XXX」は一時的な障害を、「X.3.XXX」はメールシステムの問題であることを、「X.3.2」はシステムがネットワークメッセージを受け付けないことを意味する。

X.3.2システムがネットワークメッセージを受け付けません
メールボックスが常駐しているホストは、メッセージを受け付けていません。このような条件の例としては、内在シャットダウン、過負荷、またはシステムの保守を含みます。これは恒久的で永続的な一時的エラーの両方のために有用です。

先程と似たような内容でしかなく、情報量があまり増えていない。

エラーメッセージについて

SMTP(拡張)ステータスコードの後ろに続くエラーメッセージは決まり文句があるわけではなく、個別具体的な記述ができるようになっている。RFC 5321では「451 Requested action aborted: error in processing」と「451 Requested action aborted: local error in processing」という2つの異なるテキストが例示されているが、今回は「451 4.3.2 Please try again later」となっている。この表現でインターネット検索してみたところ、いくつかの記事がヒットした。

どれも推定原因がバラバラで、最終的に解決したかどうかも分からない記事もあるが、Symantec Messaging Gateway、clamav、Spamassassin、dk-filterなど迷惑メール判定に関する製品名が出ていることが共通している。

もしや「捨てメアド」が迷惑メール判定を喰らっているのか? と思い試しに別のメールアドレスからメールを送ってみたところ、無事届いた。

まあ、迷惑メールフォルダに振り分けられたまま気付かれないよりは、リターンメールで不着を知らせる方が親切といえるのかもしれないが、簡単な問い合わせ1件のためだけにメールアカウントを新しく作るというのも面倒である。おそらく職員は一部のメールサーバからメールが届かない事実を認識していないことだろう。

そもそも捨てメアドの無料会員はWebブラウザベースでの送信しか許されず、有料会員でないとSMTP送信できないため、迷惑メールの一斉送信には不向きで、ブラックリスト登録されにくく、迷惑メール判定を喰らった経験もなかったので、腑に落ちないところもある。

今回は結局SMTPステータスコードの意味やエラーメッセージの内容は当てにならなかった。RFCに精通したエンジニア達の開発するMTAと違って、迷惑メール対策製品はその辺がいい加減なのだろう。「一時的」「Please try again later」との言葉を真に受けて日を置いても事象は改善されない。いつ喪明けするとも知れない状況では、さっさと見切りを付けて他の通信手段に頼った方が早い。