メール送信を行っている限り切っても切り離せないのがエラーメール(バウンスメール)です。エラーメールは様々な要因に発生するので、送信元だけの対応では防ぎきれないものでもあります。しかし、その理由次第では対策も可能です。
今回はエラーメールの種類と、その対策について解説します。
一時的なエラー
一時的な障害によって発生するエラーメールです。これらは送信をしばらく時間が経った後に再開することで解決できることがあります。
メッセージボックスがいっぱい
受信者のメールボックスが容量いっぱいに使われている場合、 Delay reason: mailbox is full
、 Quota exceeded (mailbox for user is full)
といったエラーが返ってきます。これは受信者のメールボックスを整理、不要なメールを削除してメールボックスの容量が空けば受信できるようになります。
一時的にサーバーへ接続できない
サーバーが落ちているなど、一時的にサーバーへ接続できずにメールが配信できない場合には Delivery incomplete
や FAILED_PRECONDITION: connect error
エラーが返ってきます。Gmailなどではしばらく置いた後、再送を試みます。
サーバー側で障害が発生
サーバーのストレージでエラーが発生している場合など、 can not open new email file errno=122 file=/path/to/file
といったエラーが返ってきます。この場合、ストレージ容量がいっぱいで書き込みに失敗したり、ストレージに障害が発生している可能性があります。
送信者に起因するエラー
メール送信者(メール内容)に問題がある場合もあります。この場合、メールを修正することで解決できるでしょう。
メールサイズが許容値オーバー
主に添付ファイルを使った場合のエラーになります。 message size 24433470 exceeds size limit
、 550 5.7.0 Message Size Violation
、 554 The message is too long.
といったようなエラーメッセージが返ってきます。これは受信者のメールサーバー側の設定で、1通あたりのメッセージサイズを制限している場合に起こります。
添付ファイルを小さくするか、添付ファイルをサーバーにアップロードした上でURLを連絡することで解決できます。
許可されていないメールグループへの送信
転送メールやメールグループを使っている場合、許可のないアカウントからメールを送信すると you may not have permission to post messages to the group
といったエラーメッセージが返ってきます。この場合、当該メールアドレスを除外して送信し直すか、メールグループに加えてもらう必要があります。
スパム判定された場合
ドメインのIPアドレスがスパムのブラックリストに登録されている場合、 (reason: 553 http://www.spamhaus.org/query/bl?ip=IPアドレス)
といったエラーメッセージが返ってきます。この場合はドメインを変えるか、DNS設定を見直す必要があります。
メール文面に問題がある
メール文面に問題(スパムに似た内容など)がある場合、 PERM_FAILURE: SMTP Error (state 12): 550 This message matches a blacklisted regular expression (Pharmacy)
といったエラーメッセージが返ってきます。これは正規表現レベルでのスパムチェックに引っかかったケースになります。この場合はメール文面を修正し、スパム判定されないようにする必要があります。
恒久的なエラー
一般的にエラーメールは恒久的なものが多いです。その場合、配信リストから該当メールアドレスを削除しなければ、常にエラーが発生してしまいます。エラーメールが頻発すると、送信元の信頼性(レピュテーション)が下がってしまうでしょう。最悪の場合、ドメインごとブロックされてしまうことにつながりかねません。
ユーザーが存在しない
メールアドレスの変更や退職に伴うアカウント削除などによってユーザーが削除されることがあります。エラーの種類は様々ですが、 User unknown
や user not found
、 Recipient address rejected: invalid address
、 550 5.1.1 The email account that you tried to reach does not exist
、 User unknown in local recipient table
などのエラーメッセージが返ってきます。
ドメインが存在しない
ユーザーアカウントではなくドメインが存在しない場合は Connection timed out
や Host not found
、 DNS Error: Address resolution
、 DNS Error: Domain name not found
が返却されます。
受信者側のエラー
あまり多くありませんが、受信側のサーバーでエラーが発生することがあります。
メール受信時のフックでエラー
メールを受信した際にシステムをキックして自動処理を行う仕組みがあります。この時に処理が失敗すると Command died with status 1: " /path/to/script". Command output:
といったエラーメッセージが返ってきます。この場合はメール文面に問題があるケースもありますが、基本的には受信者側のシステムを修正することになるでしょう。
メールの転送設定による問題
ドメイン移行したり、転籍などに伴ってメールを転送設定することがあります。そうした時に設定をミスして転送を繰り返してループされる場合があります。その時には mail is looping
といったエラーメッセージが返ってきます。この場合、送信側としてできることはないので、受信者側の設定を見直してもらう必要があります。
受信を拒否している
メール受信者側の設定で、メールを拒否する設定がされている場合です。 554 5.7.1 Your mail could not be delivered because the recipient is not accepting any mail.
といったエラーメッセージが返ってきます。この場合は別な手段を用いてコンタクトし、許可をもらう必要があるでしょう。
まとめ
エラーメール(バウンスメール)と判定されて相手にメールが届かないのは残念なことです。エラーメッセージを適切に読み込み、適切な対応を行いましょう。
相手のインボックスへ確実にメールを届けたい場合にはCustomers Mail Cloudを利用する方法をおすすめします。大量のメール配信にも対応し、バウンスメールにも自動対応可能です。ぜひご利用ください。