SMTPエラーコードの解説
2024年8月5日
著者: Ahona Rudra
翻訳: 岩瀨 彩江
この記事はPowerDMARCのブログ記事 SMTP Error Codes Explained の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
もしあなたのメールが宛先の受信ボックスに届かなかったことがある場合、SMTPエラーメッセージに遭遇したことがあるかもしれません。
これらのメッセージはさまざまな種類があり、メール配信中に発生した問題の原因を説明します。
Email Tool Testerによるテストでは、平均的なメール配信率は約83パーセントであり、85パーセント未満です。
これは、全メールの約16パーセントがエラーにより宛先に届かないことを意味します。
SMTPエラーは重要なメールの配信を妨げる可能性があります。
これらの問題は、円滑なメール配信を維持し、メールマーケティングの滞留を防ぐために、迅速に対処する必要があります。
このガイドでは、一般的なSMTP応答コードのいくつかと、それらをどのように解決できるかを説明します。
重要なポイント
- SMTPエラーはメールの配信性に大きな悪影響を及ぼし、コミュニケーションやマーケティング活動に支障をきたす可能性があります。
- 平均的なメール配信率は約83%であり、SMTPの問題を理解することの重要性を強調しています。
- SMTPエラーコードは3桁の数字で構成されており、メール配信失敗の原因を特定するのに役立ちます。
- 450や550のような一般的なSMTPエラーコードは、受信者のメールボックスの問題や誤ったアドレスを示します。
- SMTPの問題を解決するには、メールアドレスの確認、サーバ設定の修正、またはより適切なメール認証プロトコルの導入が必要となる場合があります。
シンプル・メール・トランスファー・プロトコル(SMTP)について
SMTPは「シンプル・メール・トランスファー・プロトコル(Simple Mail Transfer Protocol)」という名称のインターネットプロトコル標準です。
アプリケーション層のプロトコルとして、SMTPはTCP/IP接続を介してサーバを通じてメッセージを送受信するために使用されます。
メールは長い間、最も価値のある通信システムの一つとみなされてきました。
ほとんどのインターネットサーバは、これらのメールを送信するためにSMTPを使用しています。
メールを送信する前に、クライアントはTCPポート25を介してSMTPサーバに接続します。
SMTPサーバはその接続を受け入れ、確立された後、ユーザがメールを送信できるようにします。
SMTPの仕組み
SMTPは、メッセージをある地点から別の地点へ転送するために設計された電子メール転送プロトコルです。
これはトランスミッション・コントロール・プロトコル(TCP)上で動作し、クライアント・サーバモデルを用いて機能します。
- メールサーバは、SMTPモデルを使用してメールクライアントから他のメールサーバへメッセージを送信します。
- メールサーバは中継サーバとして機能し、メールを受信者の受信ボックスに送信します。
- 受信側のサーバはIMAPのようなプロトコルを使用して、メールを受信者の受信ボックスにダウンロードします。
ユーザが「送信」ボタンをクリックすると、SMTPサーバへのTCP接続が確立されます。
サーバはポート25を使用してメール転送プロセスを開始します。
クライアントはサーバに送信者と受信者のアドレス、そしてメールの内容を提供します。
メール転送エージェント(Mail Transfer Agent)は、メールアドレスが同一ドメインに属しているかどうかを確認します。
同一ドメインであれば、メールは正しく送信されます。
そうでない場合、サーバはDNSを使用してメールを正しいサーバにルーティングします。
SMTPエラーコードの理解
SMTPエラーコードは通常、メール配信が失敗した際にSMTPサーバによって使用される3桁のコードです。
これらのコードは、配信試行が失敗した理由を理解するのに役立ちます。
あなたがWebサイトを運営している場合、これらのエラーコードはWebサイトのメールシステムの正常な動作に大きな影響を与える可能性があります。
SMTPサーバが継続的にエラーメッセージを表示していると、顧客があなたに連絡できなくなる可能性があります。
これは、Webサイトの露出度を低下させる要因となり得ます。
SMTPエラーコードの読み方
SMTPエラーコードは3桁で構成されており、それぞれの数字には次のような意味があります。
- エラーコードの分類
-
最初の桁は、サーバがコマンドを受け入れたかどうかを示します。
サーバはアクションの実行を試みましたが、エラーが発生しています。
この値は1から5の範囲で表されます。 - 項目(サブジェクト)
-
エラーコードの2桁目は、問題の種類に関する詳細を示します。
たとえば、構文上の問題や接続の問題などです。 - 詳細
- エラーコードの3桁目は、メール転送ステータスに関する具体的な詳細を示します。
SMTPエラーコードの分類
| エラーコード | 説明 |
|---|---|
| 100番台 | サーバはクライアントと通信中であり、リクエストの処理を続行する必要があります。 |
| 200番台 | リクエストは正常に処理されました。 |
| 300番台 | リクエストを完了するために、クライアントがさらに操作を行う必要があります。 |
| 400番台 | リクエストに問題があるため、クライアントは後でもう一度試すことができます。 |
| 500番台 | サーバに問題があるため、リクエストを完了できません。 |
一般的なSMTPエラーコードとメッセージ
SMTPエラーメッセージにはさまざまな種類があります。
これらのエラーメッセージはエラーコードの説明であり、特定のコードが発生した理由を示します。
また、問題を解決するための提案が含まれている場合もあります。
- コード101
-
SMTPコード101は、サーバが現在接続を確立できないことを示しています。
この問題は、サーバ名を再確認し、正しく訂正することで解決できます。
サーバ名のスペルミスが原因である可能性があります。 - コード221
-
コード221は、サーバが通信チャンネルを終了していることを意味します。
このメッセージには、追加の終了コメントが付かない場合があります。
メールセッションの文脈では、このメッセージはメールが処理されたものの、セッションがまもなく終了することを意味します。 - コード354
-
エラーコード354のメッセージはやや分かりにくい場合があります。
「Start mail input end <CRLF>.<CRLF>」として表示されることが多く、これはDataコマンドに対する標準応答です。
このコードは、サーバがメールの「From」と「To」の情報を受け取り、本文を受信する準備ができたことを示しています。 - コード421
-
SMTPコード421は、サービスが利用できないことを示します。
これは接続の問題や、サーバ側の一時的な不具合によるものです。
現在サーバが利用できない状態であり、送信側または受信側のどちらかに原因がある可能性があります。
サーバが再稼働した際に、もう一度メールを送信してみてください。 - コード450
-
コード450は、クライアントが要求した処理を完了できなかったことを示します。
これはユーザのメールボックスが利用できないためです。
原因としては、メールボックスの破損、サーバのオフライン状態、またはIPアドレスの問題などが考えられます。
信頼できるIPアドレスを使用していることを確認してください。
もし送信側に問題がなければ、サーバはしばらくしてから再送を試みます。 - コード451
-
コード451は、クライアントのリクエスト処理中に一時的な問題が発生したことを示します。
これは、インターネットサービスプロバイダや、メールを受信したリレーサーバの接続問題が原因である場合もあります。
この問題は、無料のメールサービスを使用して大量のメールを送信している場合によく発生します。
問題が解決しない場合は、SMTPプロバイダに連絡してサポートを受けてください。 - コード452
-
コード452は、サーバのトラフィックが増加していることを示します。
これは、送信されたメールが多すぎるか、受信者の数が多すぎることを意味します。
通常、このエラーはメールボックスの保存容量を超えた場合に発生します。
この問題を解決するには、しばらく時間を置いてから再度メールを送信してみてください。
原因が大量送信であるため、時間をおいて同じメールを再送することで解決することがあります。 - コード455
-
このコードは、サーバが現在コマンドに従うことができないことを示します。
つまり、サーバが指定されたパラメータを処理できない状態であることを意味します。
ユーザは少し時間を置いてから再試行することができます。
問題が続く場合は、受信サーバの管理者に連絡することをお勧めします。 - コード500
-
コード500は構文エラーを示します。
これは、サーバがクライアントから送信されたコマンドを理解できなかったことを意味します。
この問題は、サーバとクライアント側のウイルス対策ソフトウェアとの間の競合が原因である場合もあります。
提供された指示に従って、注意深く確認してください。 - コード501
-
このエラーコードは、もう一つの構文エラーを示します。
ただし、この構文エラーはコマンドではなくパラメータに関係しています。
主にメールアドレスが誤っている場合に発生します。
問題を解決するには、デバイス上のウイルス対策設定を確認してください。
また、入力したメールアドレスが正しいかどうかを再確認してください。 - コード502
-
コード502は、クライアントが送信したコマンドがまだ実装されていないことを示します。
つまり、ユーザが実行しようとしている特定の機能や操作がサーバ上で利用できないことを意味します。
ユーザは、サービスプロバイダに連絡して、そのコマンドが利用できない理由について確認する必要があります。
案内を受けたうえで、指示に従って対応してください。 - コード503
-
このコードは、サーバが不正なコマンドの順序を検出したことを意味します。
また、このコードはサーバがメール認証を必要としていることを示す場合もあります。 - コード541
-
エラーコード541は、受信者のアドレスがユーザのメッセージを拒否した際に発生します。
これは、送信したメールが受信者の迷惑メールフィルタによって拒否された場合にも発生します。
解決策は比較的簡単です。
受信者に、あなたのメールアドレスをホワイトリストまたは安全な送信者リストに追加してもらってください。
そうすることで、受信者のメールサーバはあなたのメールアドレスを正当なものとして認識し、迷惑メールとして扱わなくなります。 - コード550
-
コード550は、クライアントが送信しようとしているメールアドレスが受信側に存在しないことを示します。
場合によっては、受信者のサーバが受信メールをブロックしているためにこのエラーが発生することもあります。
これは、SPF・DKIM・DMARCといったメール認証プロトコルが適切に設定されていないことが原因の場合があります。
正しい有効なメールアドレスを入力するようにしてください。
それでもエラーが続く場合は、受信者に直接連絡を取り、正しいメールアドレスであることを確認してください。 - コード552
-
コード452と同様に、エラーコード552は受信者のメールボックスが容量の上限に達したときに発生します。
このコードの内容は「Requested mail actions aborted, Exceeded storage allocation(要求されたメール操作は中止されました。保存容量を超えています)」です。
この問題は、メール送信時に使用するストレージ容量を減らすことで解決できます。
送信前に添付ファイルのサイズを小さくするか、より小さいメッセージを送信してみてください。 - コード553
-
このコードは、「要求された操作は実行されませんでした。メールボックス名が無効です」という意味です。
つまり、受信者欄に誤ったメールアドレスが入力されていることを示します。
メールを送信しているすべてのアドレスを確認し、余分な文字、空白、誤った名前などのエラーがないか見直してください。 - コード554
-
このコードは、トランザクションが失敗したことを示します。
つまり、メールの送信が正常に行われなかったことを意味します。
このエラーを受け取る場合、受信側のメールが迷惑メールと判断されたか、送信元のIPアドレスがブロックされている可能性があります。
この問題に対処するには、メールアドレスまたはIPアドレスがスパムとして認識されていないか確認してください。
または、専門のSMTPサービスを利用することも検討してください。
最後に
SMTPエラーコードを理解することは、メール配信の問題を診断・解決するのに役立つだけでなく、デジタルコミュニケーションの繊細で複雑な仕組みを理解することにもつながります。
これらのコードは、単なる技術用語のように見えますが、実際には私たちの日々のやり取りを支える「静かな仲裁者」です。
メッセージが正しい宛先に届くことを保証してくれます。
そして、即時通信が当たり前のこの時代においても、見えないところで複雑かつ強力なシステムが働き、人と人とをつないでいることを思い出させてくれます。