Domain IP Lookup

メールがメールサーバーを見つける仕組み

送信者

you@gmail.com

MX検索

誰が受け取る?

メールサーバー

優先度10が最初

受信トレイ

配信完了

優先度の数値が小さいものが優先され、大きいものはバックアップ

実践ガイド

MXレコードとは?メール配送の仕組みを解説

読了時間:5分

誰かが you@example.com 宛てにメッセージを送るとき、相手のメールサーバーは、何よりも先に1つの問いに答えなければなりません。example.com 宛てのメールを受け付けるのは、どのマシンかという問いです。その答えが MX レコードです。

MXは Mail Exchange(メール交換)の略です。MXレコードがないと、ウェブサイトが完璧に動いていても、ドメイン宛てのメールは送り返されます。ウェブサイトのレコードとメールのレコードは、完全に独立しています。

メールがメールサーバーを見つける仕組み

送信者

you@gmail.com

MX検索

誰が受け取る?

メールサーバー

優先度10が最初

受信トレイ

配信完了

優先度の数値が小さいものが優先され、大きいものはバックアップ

すべての送信メールは、受信者のドメインに対するMX検索から始まります。

MXレコードの見え方

Google Workspaceの一般的な設定
example.com.    3600    IN    MX    1     aspmx.l.google.com.
example.com.    3600    IN    MX    5     alt1.aspmx.l.google.com.
example.com.    3600    IN    MX    5     alt2.aspmx.l.google.com.
example.com.    3600    IN    MX    10    alt3.aspmx.l.google.com.

ホスト名の前にある数字が優先度(preferenceとも呼ばれます)です。そのほかは、標準的なレコードと同じです。

優先度が実際にどう働くか

送信側のサーバーは、MXレコードを優先度順に並べ、順番に試します。最も小さい優先度のホストが接続を拒否したり、タイムアウトしたりすると、次のホストに移ります。これは本物の冗長化です。1台のサーバーがダウンしている間も、メールは流れ続けます。

同じ優先度を持つレコード(上の2つの 5 のエントリ)は、負荷分散されます。送信側はその中からランダムに選び、負荷を両方に分散させます。

MXの宛先が守るべきルール

  • 宛先はIPアドレスではなく、ホスト名でなければなりません。 MX 10 93.184.216.34 は無効です。その名前に A レコードを設定したうえで、MX 10 mail.example.com. を使ってください。
  • 宛先はCNAMEであってはなりません。 仕様では、MXの宛先がアドレスレコードに直接解決されることが求められています。そうでない場合、配送を拒否するメールサーバーもあります。CNAMEとAの違いをご覧ください。
  • 宛先には、それ自体の A または AAAA レコードが必要です。 解決されない名前を指すMXは、MXがまったくないのと同じです。

null MX:ドメインがメールを送らないことを宣言する

ドメインがメールを一切受信しないのであれば、ルートゾーンを指す1つのMXレコードで、そのことを明示的に宣言します。

RFC 7505のnull MX
example.com.    3600    IN    MX    0    .

宛先が単独の . であれば、このドメインはメールを受け付けないという意味です。送信側は、何日も再試行するのではなく、恒久的なエラーですぐに拒否します。また、そのドメインはなりすましの標的として魅力が下がります。メールに使っていない、自分が所有するすべてのドメインに設定する価値があります。

MXレコードがない場合はどうなるか

従来のフォールバックでは、送信側がそのドメインの A レコードを試し、そこへの配送を試みます。これに頼るのはよくありません。挙動はメールサーバーによって異なり、A レコードがメールデーモンのないウェブサーバーやCDNを指している場合は、メッセージが送り返されてしまいます。

重要なポイント

メールを受け取りたいなら、明示的なMXを公開します。メールを受け取りたくないなら、null MXを公開します。空のままにして、Aレコードへのフォールバックがうまくいくことを期待するのは、ドメインがメッセージを気づかないうちに失う原因です。

MXレコードがすべてではありません

MXが決めるのは、メールをどこに配送するかです。ほかの3つのレコードが、そのメールが信頼されるかどうかを決めます。これらがないと、正規のメールが迷惑メールフォルダーに入ってしまいます。

  • SPF:ドメインとして送信してよいサーバーを列挙する TXT レコードです。
  • DKIM:送信メールに署名する鍵を公開する TXT レコードです。
  • DMARC:SPFまたはDKIMが失敗したときの処理を受信側に伝える TXT レコードです。

3つとも、SPF、DKIM、DMARCの解説で扱っています。4つ目の要素である逆引きDNSは、メールを直接送信するサーバーにとって重要です。

メールを失う障害と、その見つけ方

MXの設定ミスが、自ら存在を知らせることはめったにありません。メールが止まるのではなく、減ったり、遅れて届いたり、1人の送信者だけが問題を訴え、ほかの全員は問題なかったりします。知っておくべきパターンを紹介します。

もう使っていないプロバイダーを指しているレコード

メールが謎の消え方をする原因として、最も多いものです。移行によって、旧プロバイダーのMXレコードが新しいレコードと並んで残り、送信側が優先度に従ってそれらに振り分けるため、一部のメッセージが誰も読まないメールボックスに届いてしまいます。症状は、一部の送信者からのメールは届くのに、ほかの送信者からのメールはバウンスもなく消える、というものです。

MXの宛先にアドレスレコードがない

mail.example.com を指すMXがあっても、その名前が解決されなければ、機能的にはMXがまったくないのと同じです。送信側は、すぐにバウンスするか、キューに入れて何日も再試行したあとで諦めます。MXレコードが存在することだけでなく、その宛先が解決されることを、必ず確認してください。

ポート25をブロックしているファイアウォール

DNSは完璧なのに、サーバーに到達できない状態です。受信SMTPはポート25に届きますが、クラウドプロバイダーは、新しいインスタンスではこれを既定でブロックしていることがよくあります。MXの検索は成功しても、接続が完了することはなく、送信側は何も言わずにキューに入れます。

MXレコードを確認する

優先度順
dig +short example.com MX

検索ツールは、MXレコードを優先度順にすでに並べた状態で返し、null MXは、紛らわしい空の値ではなく明示的に表示します。そのため、プライマリが想定どおりのものであることを、ひと目で確認できます。

ドメインの公開DNSアドレスを調べたい場合は、Domain IP Lookupツールをお試しください。

このテーマの無料ツール

よくある質問

関連記事

ほぼすべてのゾーンで出会うレコード

Aホスト名をIPv4アドレスに対応付け
AAAAホスト名をIPv6アドレスに対応付け
CNAMEホスト名を別のホスト名に対応付け
MXドメインをメールサーバーに優先度順で対応付け
TXTドメインを任意のテキストに対応付け。SPF、DKIM、所有確認など
NSドメインを応答するネームサーバーに対応付け
実践ガイド

TXTレコードを解説:SPF、DKIM、DMARC

あなたのメールと迷惑メールフォルダーの間に立つ、3つのTXTレコード。それぞれの役割、構文の読み方、安全な導入の順序を解説します。

読了時間:3分

逆引きDNSは検索を逆向きに行う

IPアドレス

93.184.216.34

出発点

PTR検索

in-addr.arpa、自分ではなく先方のゾーン

ホスト名

答え

逆引きゾーンはドメイン所有者ではなく、IPブロックの所有者のもの

実践ガイド

逆引きDNSとは?PTRレコードの解説

逆向きに行われる検索です。ホスティングプロバイダーが管理している理由と、設定がないとメールが静かに迷惑メールへ振り分けられる理由を解説します。

読了時間:3分

ほぼすべてのゾーンで出会うレコード

Aホスト名をIPv4アドレスに対応付け
AAAAホスト名をIPv6アドレスに対応付け
CNAMEホスト名を別のホスト名に対応付け
MXドメインをメールサーバーに優先度順で対応付け
TXTドメインを任意のテキストに対応付け。SPF、DKIM、所有確認など
NSドメインを応答するネームサーバーに対応付け
DNSの基礎

DNSレコードタイプ徹底解説:完全リファレンス

知っておくべきレコードタイプのすべてについて、役割、書式、そして陥りがちな間違いを、1つのリファレンスページにまとめました。

読了時間:4分