MXレコード検索

MXを検索
次へ

メールがバウンスしたら、最初に見るべきは受信者のMXレコードです。この検索は任意のドメインについて権威DNSに問い合わせ、メールサーバー(mail exchanger)のホスト名の完全なリスト、その優先度の値、解決されたIPアドレスを返します。送信側のSMTPサーバーが配送を試みる直前に見るのとまったく同じ全体像です。

MX検索の仕組み

  1. 1

    ドメインを入力

    頂点ドメイン、例えばexample.comを入力します。「mail.」やプロトコルは含めないでください。

  2. 2

    DNSに問い合わせ

    ツールはパブリックリゾルバーにMXレコードセットを尋ね、各エントリーを読み返します。

  3. 3

    優先度を見る

    優先度の数値が低いものが先に試されます。同じ優先度はラウンドロビンで負荷分散されます。

  4. 4

    ホスト名を解決

    各MXターゲットがAまたはAAAAレコードに解決されるので、死んだホストを見つけられます。

MXレコードが実際に行うこと

MX(Mail Exchanger)レコードは、あるドメインのメールをどのサーバーが受け入れるかを世界に伝えます。MX型のDNSクエリへの応答として返され、各エントリーは2つの部分を持ちます:優先度の数値とホスト名。送信側のサーバーはまず最も低い優先度を試し、配送に失敗すると高い数値にフォールバックします。

MXレコードの構造

フィールド 意味
優先度 10 優先順位。数値が小さいほど優先される
エクスチェンジャー aspmx.l.google.com. 受信側メールサーバーのホスト名
TTL 3600 リゾルバーが回答をキャッシュしてよい秒数

この検索が捕まえるよくある間違い

  • MXの代わりにAレコード。 一部のドメインは、MXレコードを設定する代わりに誤って頂点をウェブメールのホストに向け、配送がひそかに失敗します。
  • 頂点でのCNAME。 MXターゲットはA/AAAAレコードを持つホスト名でなければなりません。MXターゲットとしてのCNAMEはRFC 2181に違反します。
  • null MXの欠如。 ドメインがメールを受信しないなら、MX 0 .を公開して、送信側が何日も再試行せず素早くバウンスするようにします。
  • 古いGoogleまたはMicrosoftのターゲット。 Microsoft 365に移行するテナントは、しばしば古いaspmx.l.google.comのエントリーを削除し忘れます。

よくある質問

冗長性です。メールはストアアンドフォワードなので、プロバイダーは異なる優先度で複数のメールエクスチェンジャーを並べます。主が落ちると、送信側は自動的に次の優先度を試します。

最も高い優先度、つまり最初に試されるという意味です。実際の数値は、同じセット内の他のレコードとの相対関係でのみ意味を持ちます。MXが1つだけなら、優先度10でも優先度0でもまったく同じ挙動になります。

技術的にはあります。その場合、送信側はAレコードにフォールバックしますが、現代のプロバイダーはしばしばその状況での配送を拒否します。ドメインがメールを受け入れないなら、代わりにnull MXを公開してください。

DNSのキャッシュです。リゾルバーによっては、TTLが切れるまで古いレコードを保持することがあります。MXを変えたばかりなら、比較する前に古いTTLが過ぎるのを待ってください。

関連ツール

このツールは他の言語でも利用できます