SMTPレスポンスコードの基礎知識
- 2023年1月26日
- by SendGrid
- Category: 技術ネタ
この記事は SMTP Server Response Codes: What Do They Mean? の抄訳です。
Twilio SendGridでは、マーケティングメールやトランザクションメールを毎月1,000億通以上送信しています。
ところで、「メールを送信する」とは具体的にどういうことでしょうか?
それは、SMTP(Simple Message Transfer Protocol)を使って複数コンピュータ間での通信を行うということです。
メッセージは、あるコンピュータから別のコンピュータへとSMTPサーバを経由してリレーされ、SMTPサーバはメッセージの処理結果を「レスポンスコード」として返します。
大抵は問題なく送信されるのですが、何か問題が発生したときはレスポンスコードから様々なことが分かります。メール送信でよく見かけるレスポンスコードについて、代表的なものを以下にご紹介します。
250
何も問題はありません。送信したメールは、正常に受信サーバに受け付けられました。
421
受信サーバで一時的な遅延が発生しています。短期間に接続が集中したか、メールの数が多すぎるといった原因が考えられます。
例)
- 421 4.7.0 [GL01] Message from (X.X.X.X) temporarily deferred
- 421 4.7.1 : (DYN:T1)http://postmaster.info.aol.com/errors/421dynt1.html (throttled)
- 421 4.7.0 [GL01] Message from (X.X.X.X) temporarily deferred – 4.16.50. Please refer to http://postmaster.yahoo.com/errors/postmaster-21.html
450
配信に失敗しました。メールボックスがロックされていたか、もしくはルーティングができなかった可能性があります。
例)
- 450 4.2.1 The user you are trying to contact is receiving mail too quickly. Please resend your message at a later time. If the user is able to receive mail at that time, your message will be delivered.
- 450 too frequent connects from 198.37.147.135, please try again later. (throttled)
451
配信に失敗しました。多くの場合、送信側の問題ではなく、受信側のサーバエラーが原因で発生します。
例)
- 451 mta1012.mail.gq1.yahoo.com Resources temporarily unavailable. Please try again later [#4.16.1].
- 451 Temporary local problem – please try later
452
システムストレージ容量が不足しています。容量が確保され次第、メールは配信されます。
例)
- 452 Too many recipients received this hour (throttled)
- 452. 4.3.1 Insufficient system storage (throttled)
- 452 4.2.2 Over Quota
550
配信に失敗しました。メールボックスが利用不可であるか、受信サーバに拒否されました。
例)
- 550 5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient’s email address for typos or unnecessary spaces.
- 550 Requested action not taken: mailbox unavailable
- 550 5.1.1 <address@aol.com>: Recipient address rejected: aol.com
551
宛先メールボックスが受信サーバに存在しません。
例)
- 551 not our customer
- 551 user does not exist
552
宛先メールボックスの容量が不足しているため、メッセージは受け付けられませんでした。
例)
- 552 5.2.2 This message is larger than the current system limit or the recipient’s mailbox is full. Create a shorter message body or remove attachments and try sending it again.
553
宛先が存在しないため、メッセージは配信されませんでした。
例)
- 553 sorry, that domain isn’t in my list of allowed rcpthosts (#5.7.1)
- 553 Invalid/inactive user.
554
配信に失敗しました。送信側のエンドポイントもしくは受信サーバにおける、様々な問題が要因として考えられます。
例)
- 554 5.7.1 – ERROR: Mail refused
- 554 5.7.1 [P4] Message blocked due to spam content in the message.
SendGridでは400番台のレスポンスが返った場合は遅延と見なして最長72時間再送を試みます。500番台のレスポンスが返った場合は恒久的なエラーと判断して再送は行いません。詳しい挙動についてはドキュメント「エラーとトラブルシューティング」をご覧ください。