技術解説 · 出典付きの回答

MXレコードとは?定義と役割

MXレコード(Mail Exchangerレコード)とは、ドメインに代わってメールメッセージを受け付けるメールサーバーを指定するDNSのリソースレコードです。ドメイン名を特定のメールサーバーのホスト名に対応付け、SMTPのトラフィックが正しい宛先にルーティングされるようにします。

仕組み

送信者がメールを送信すると、送信サーバーは受信者のドメインのMXレコードに対してDNSルックアップを実行します。DNSの応答には、1つ以上のホスト名とそれぞれの優先度の値が含まれます。送信サーバーは、まず優先度の数値が最も小さいサーバーへのメッセージ配信を試みます。そのサーバーが利用できない場合は、リスト内で次に数値の小さいサーバーにフェイルオーバーします。

送信者にとっての重要性

MXレコードは主に受信メールを扱いますが、ドメイン全体の健全性にとっても重要です。受信側のメールサーバーの多くは、送信ドメインに有効なMXレコードがあるかを逆に確認します。メールを送信できても受信できないドメインは、疑わしいドメインや迷惑メールの送信元と判定され、到達率に悪影響が出る可能性があります。

運用でよくある間違い

よくある間違いには、MXレコードをホスト名ではなくAレコードやCNAMEに向けてしまうことがあり、これはDNSの標準に違反します。また、すべての優先度の値を同じ数値に設定してしまうのもよくある誤りで、意図したフェイルオーバーではなくランダムな負荷分散になってしまいます。これらのレコードの設定を誤ると、メールがバウンスし、通信が失われます。

設定例

Google Workspaceなどのプロバイダーを使うドメインの典型的な設定は、たとえば次のようになります:Priority 1: aspmx.l.google.com、Priority 5: alt1.aspmx.l.google.com。送信サーバーは常に優先度1のサーバーを最初に試します。SendHQやその無料ツール(https://sendhq.cc/tools)を使って、他の認証レコードのDNS設定も確認できます。

SMTPとの関係

MXレコードがポインターの役割を果たすのに対し、簡易メール転送プロトコル(SMTP)は実際の転送の仕組みです。MXレコードはSMTPサーバーの場所をインターネットに伝え、SMTPはネットワーク上でのハンドシェイクとメールメッセージのデータ転送を処理します。

よく寄せられる質問

1つのドメインに複数のMXレコードを設定できますか?

はい、冗長性を確保するために、ドメインに複数のMXレコードを設定することはよくあります。高可用性を確保するため、それぞれ優先度の数値で順位が付けられます。

MXレコードは送信メールに影響しますか?

MXレコードは受信メールをルーティングするものなので、直接の影響はありません。ただし、一部の迷惑メールフィルターは送信ドメインを確認するために有効なMXレコードの有無をチェックするため、間接的には影響します。

MXレコードが見つからない場合はどうなりますか?

MXレコードが存在しない場合、一部の送信サーバーはドメインのAレコードへのメール配信を試みることがありますが、現在の環境ではこれは失敗することが多いです。

一次情報源