MXレコードのトピックについて簡単な質問があります。
DNSレコードに複数のメールサーバーがあるとします。誰かがメールを送信すると、送信するメールサーバーはMXをチェックし、最も安価なサーバーに連絡します。
これが交換サーバーであると仮定します。リクエストしたメールアドレスがサーバーにない場合はどうなりますか?送信メールサーバーはMXレコードの2番目のメールサーバーにメールを送信しますか?それとも最初のメールサーバーのエラーメッセージによって異なりますか?
Exchangeは、「不明なアドレス」に送信されたメッセージをどのように処理しますか?
答え1
ドメインの MX レコードにリストされているすべてのメールサーバーは、ドメイン内のすべてのユーザーにメールを完全に転送できると仮定します。サーバーが「不明なアドレス」メッセージで応答すると、Exchange [または他のメールサーバー]はメッセージを転送できないと見なし、その設定に従って処理します。
IIRC既定では、Exchangeは送信者に返信メッセージを生成しますが、メッセージを削除するように構成することもできます。
注:送信メールサーバーは、選択したサーバーがドメインのMXレコードにある代替サーバーである場合にのみ接続を試みます。応答しない。
答え2
メール配信を処理するSMTPおよびESMTP(基本プロトコル)には、幅広いRFC(元のRFC822、最新のアップデートであるRFC2822、およびRFC5322のインターネット標準追跡プロトコル)があります。
メールサーバーが配信中にエラーを処理する方法は、メールサーバーによって異なります。問題をさらに複雑にすることは、これらの多くが構成可能であり、RFCで説明されている基本的な動作を簡単に変更できることです。
上記の考慮事項を考慮して、一般的な経験則は次のとおりです。
優先順位が最も高い MX レコードが選択されている場合、または優先順位が同じレコードが複数ある場合は、MX レコードがランダムに選択されます (ランダム動作がラウンドロビンアルゴリズムである場合もあります)。選択したホストに「アクセスできません」(ホストへのパスなし、接続拒否など)の場合は、優先順位が同じか低い次のMXレコードを試してください。 mswが述べたように、これは直観に反するものです。最も高い優先順位はゼロで、より多くのレコードが考慮されます。少ない割引。
接続が確立されるか、すべてのホストが応答しなくなるまでこの操作が繰り返されます。この場合、後で再送信を試みるために、電子メールがキューに追加されます。ほとんどのメールサーバーは、放棄して配信不能レポート(NDR)に電子メールを返す前に、しばらく(通常1〜2日)この操作を試みます。
接続した場合はい成功した場合、RFCプロトコルの個々のステップによって、接続MTAの一般的な動作が決定されます。リモートメールサーバーから送信された初期バナーから、そのメールサーバーで実行されたすべてのコマンド(from EHLO
/ HELO
、to、MAIL FROM
およびステートメント)の一般的な経験則は次のとおりです。RCPT TO
DATA
4xx 一時的なエラーです。後でもう一度お試しください。
このコードを使用すると、電子メールがローカルメールサーバーによってキューに追加され、後で送信が試みられます(そのローカルメールサーバーの設定で構成されます)。
5xx致命的なエラー、電子メールを配信できません
このコードを使用すると、電子メールは配信できないと見なされ、ローカルに送信されるメールサーバーは(常にそうではありませんが、ほとんどのサーバーで)配信不能レポート(NDR)を生成します。
「このサーバーに要求されたメールアドレスがない場合」という質問については、RCPT TO
ステップでほとんどのサーバーが5xx
コードで応答し、ローカルメールサーバーがNDRを生成します。
すべての電子メールサーバーが同じではない
これにはいくつかの注意事項があります。 MS Exchangeは、間違った受信者、ルーティングできないドメインなどに関係なく、最も長い間すべての電子メールを受け入れてから、事実の後にNDRを生成します。一部のISPにはスパムの問題があり、次のように知られています。後方散乱、NDRを生成しなくても、メールは「自動的に失敗」します(配信失敗の通知はまったく受信されません)。
また、MTA(メール転送エージェントまたはメールサーバー)が常に配信エンドポイントであるわけではなく、MDA(メール配信エージェント - 例:procmail)、MUA(メールユーザーエージェント)、または「メールクライアント」(Thunderbird / Outlookなど)ではないことも考慮する必要があります。します。これらの電子メールは、独自のNDRなどの応答で「返される」ように設定できます。.forward
MTAが電子メールを受け入れた後に別のアドレスにリダイレクトできるようにするファイルなどのメカニズムもあります(一部のメールサーバー)。 Eximの場合)は.forward
SMTPセッションフェーズ中に拡張しようとし、ルーティングできないアドレスに拡張すると上記の一連のエラーコードで応答します。RCPT TO
5xx
より正確で詳細な説明については、上記のRFCと使用しているMTAのマニュアルを読んでください(設定方法が動作に影響を与える可能性があることを覚えておいてください)。