SMTPエラーコードの解説

SMTPエラーコードの解説


著者: Ahona Rudra
翻訳: 岩瀨 彩江

この記事はPowerDMARCのブログ記事 SMTP Error Codes Explained の翻訳です。
Spelldataは、PowerDMARCの国内正規代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。


もしあなたのメールが宛先の受信ボックスに届かなかったことがある場合、SMTPエラーメッセージに遭遇したことがあるかもしれません。
これらのメッセージはさまざまな種類があり、メール配信中に発生した問題の原因を説明します。

Email Tool Testerによるテストでは、平均的なメール配信率は約83パーセントであり、85パーセント未満です。
これは、全メールの約16パーセントがエラーにより宛先に届かないことを意味します。

SMTPエラーは重要なメールの配信を妨げる可能性があります。
これらの問題は、円滑なメール配信を維持し、メールマーケティングの滞留を防ぐために、迅速に対処する必要があります。
このガイドでは、一般的なSMTP応答コードのいくつかと、それらをどのように解決できるかを説明します。

重要なポイント

  1. SMTPエラーはメールの配信性に大きな悪影響を及ぼし、コミュニケーションやマーケティング活動に支障をきたす可能性があります。
  2. 平均的なメール配信率は約83%であり、SMTPの問題を理解することの重要性を強調しています。
  3. SMTPエラーコードは3桁の数字で構成されており、メール配信失敗の原因を特定するのに役立ちます。
  4. 450や550のような一般的なSMTPエラーコードは、受信者のメールボックスの問題や誤ったアドレスを示します。
  5. SMTPの問題を解決するには、メールアドレスの確認、サーバー設定の修正、またはより適切なメール認証プロトコルの導入が必要となる場合があります。

シンプル・メール・トランスファー・プロトコル(SMTP)について

SMTPは「シンプル・メール・トランスファー・プロトコル(Simple Mail Transfer Protocol)」という名称のインターネットプロトコル標準です。
アプリケーション層のプロトコルとして、SMTPはTCP/IP接続を介してサーバーを通じてメッセージを送受信するために使用されます。
メールは長い間、最も価値のある通信システムの一つとみなされてきました。

ほとんどのインターネットサーバーは、これらのメールを送信するためにSMTPを使用しています。
メールを送信する前に、クライアントはTCPポート25を介してSMTPサーバーに接続します。
SMTPサーバーはその接続を受け入れ、確立された後、ユーザーがメールを送信できるようにします。

SMTPの概要を示す図

SMTPの仕組み

SMTPは、メッセージをある地点から別の地点へ転送するために設計された電子メール転送プロトコルです。
これはトランスミッション・コントロール・プロトコル(TCP)上で動作し、クライアント・サーバーモデルを用いて機能します。

ユーザーが「送信」ボタンをクリックすると、SMTPサーバーへのTCP接続が確立されます。
サーバーはポート25を使用してメール転送プロセスを開始します。
クライアントはサーバーに送信者と受信者のアドレス、そしてメールの内容を提供します。

メール転送エージェント(Mail Transfer Agent)は、メールアドレスが同一ドメインに属しているかどうかを確認します。
同一ドメインであれば、メールは正しく送信されます。
そうでない場合、サーバーはDNSを使用してメールを正しいサーバーにルーティングします。

SMTPエラーコードの理解

SMTPエラーコードは通常、メール配信が失敗した際にSMTPサーバーによって使用される3桁のコードです。
これらのコードは、配信試行が失敗した理由を理解するのに役立ちます。

あなたがWebサイトを運営している場合、これらのエラーコードはWebサイトのメールシステムの正常な動作に大きな影響を与える可能性があります。
SMTPサーバーが継続的にエラーメッセージを表示していると、顧客があなたに連絡できなくなる可能性があります。
これは、Webサイトの露出度を低下させる要因となり得ます。

SMTPエラーコードの理解を示す図

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エラーコードとメッセージの一覧を示す図

最後に

SMTPエラーコードを理解することは、メール配信の問題を診断・解決するのに役立つだけでなく、デジタルコミュニケーションの繊細で複雑な仕組みを理解することにもつながります。
これらのコードは、単なる技術用語のように見えますが、実際には私たちの日々のやり取りを支える「静かな仲裁者」です。

メッセージが正しい宛先に届くことを保証してくれます。
そして、即時通信が当たり前のこの時代においても、見えないところで複雑かつ強力なシステムが働き、人と人とをつないでいることを思い出させてくれます。