2026年6月16日
2026年6月16日
MXレコードの設定手順|書式のルール・優先度の決め方・メールを受け取らないドメインのnull MXまで
MXレコードは「このドメイン宛てのメールを、どのサーバーに届けるか」を示すDNSレコードで、優先度とメールサーバーのホスト名の2つを登録します。設定そのものは数行ですが、値にIPアドレスやCNAMEの名前を書く、末尾のドットを落とす、といった書式の誤りでメールが届かなくなることがあります。この記事では、MXレコードを設定する作業の順番と、書式のルール、優先度の決め方、サブドメイン用のMX、メールを受け取らないドメインに置く null MX までを説明します。
画面の操作方法はDNS事業者ごとに違うため、ここでは「何をどの順で、どういう値で登録するか」を中心に書きます。
MXレコードの書式
ゾーンファイルの形で書くと、MXレコードは次のようになります。
; 名前 TTL クラス タイプ 優先度 メールサーバーのホスト名
example.com. 3600 IN MX 10 mail.example.com.
example.com. 3600 IN MX 20 mail2.example.com.
管理画面では、多くの場合「名前(ホスト)」「優先度」「値(メールサーバー)」「TTL」の欄に分かれています。それぞれの決まりは次のとおりです。
- 名前:メールアドレスの「@」より後ろの部分です。
info@example.comで受けたいならexample.com(画面によっては@や空欄)にします。wwwではありません。 - 優先度:0〜65535の整数で、小さいほど優先されます。送信側はまず最小の値のサーバーに配送を試み、つながらなければ次の値へ進みます。
- 値:メールサーバーの ホスト名 を書きます。IPアドレスを直接書くのは規格上誤りで、受け付けない送信サーバーがあります。
- ホスト名の条件:値に書いたホスト名には、AレコードかAAAAレコードが必要です。CNAMEを指している名前(別名)を書くことも規格で認められていません。
ゾーンファイルを直接書く場合は、ホスト名の末尾のドット(mail.example.com.)を落とさないように注意します。ドットが無いとゾーン名が後ろに足され、mail.example.com.example.com という存在しない名前になります。管理画面では自動で補われることが多いものの、入力後の表示で確かめてください。
設定前に確かめること
実際に使われているDNSを特定する
DNSを編集できる画面は、レジストラ、レンタルサーバー、CDNなど複数あることがあります。設定が効くのはネームサーバーとして指定されているDNSだけです。
dig NS example.com +short
ここで返ってきたネームサーバーのサービスで作業します。
メールサービスが指定する値を控える
Google Workspace や Microsoft 365 などのメールサービスを使う場合は、そのサービスの管理画面やヘルプに、登録すべきMXの値と優先度が示されています。件数(1件だけか複数か)や値はサービスごとに異なり、変更されることもあるため(2026年10月現在)、古いブログ記事の値ではなく、自分のアカウントで表示される最新の指示に従ってください。
自前のメールサーバーを使う場合は、mail.example.com のようなホスト名を決め、そのAレコード(IPv6も使うならAAAAも)を先に登録しておきます。サーバー側で外部からの25番ポートを受け付けているかも、このときに確かめます。
今のMXを記録しておく
変更前の状態を控えておくと、問題が起きたときに戻せます。
dig example.com MX +noall +answer
MXレコードを設定する手順
- TTLを下げる(乗り換えの場合):既存のMXを置き換える場合は、作業の1日以上前に既存MXのTTLを300秒程度に下げておきます。新規の場合は不要です。
- 新しいMXを登録する:名前・優先度・ホスト名を上の書式どおりに入力します。複数指定するよう求められていれば、すべて登録します。
- 古いMXを削除する:乗り換えでは、旧サービスのMXを残すと、優先度によって一部のメールが旧サーバーへ配送され続けます。サービスの手順に「並行して残す」とない限り削除します。
- 反映を確かめる:次の節の方法で、権威DNSサーバーと公開DNSの両方を見ます。
- 送受信をテストする:外部のメールアドレスから送って届くかを確かめます。
- TTLを戻す:問題がなければ、TTLを3600秒などの通常の値に戻します。
優先度の決め方
1台のサーバーだけなら、値は 10 でも 0 でも構いません。意味を持つのは複数登録したときの大小関係だけです。
- 主とバックアップ:主を 10、予備を 20 のように差をつけます。
- 同じ値を複数:同じ優先度のサーバーが複数あると、送信側はそれらの間で配送先を振り分けます。負荷分散のために同じ値をそろえて指定するサービスもあります。
予備のメールサーバー(バックアップMX)を自分で用意する場合は注意が必要です。予備側が主サーバーと同じ迷惑メール対策や宛先チェックをしていないと、予備側が迷惑メールの入り口になることがあります。運用できる体制がなければ、メールサービスが指定するMXだけにしておく方が安全です。
サブドメインとMX
MXは名前ごとに独立しています。example.com にMXがあっても、news.example.com 宛てのメールには適用されません。サブドメインでメールを受ける場合は、その名前にMXを登録します。
news.example.com. 3600 IN MX 10 mx.mail-service.example.
メール配信サービスの中には、送信用のサブドメインにMXやTXTの登録を求めるものがあります。ルートドメインのMXを書き換えるのではなく、指示された名前にだけ追加してください。名前を取り違えると、普段使っているメールの受信が止まります。
メールを受け取らないドメインには null MX
MXが1件も無いドメインでも、送信側はAレコード(またはAAAA)のアドレスに配送を試みる決まりになっています。Webサイト専用でメールを使わないドメインでも、Webサーバーに配送が試みられ、エラーの戻りや迷惑メールの踏み台探しを招くことがあります。
メールを受け取らないことをはっきり示すには、null MX を登録します。優先度 0、値はドット1つだけです。
example.com. 3600 IN MX 0 .
null MX を置く名前には、ほかのMXを併記しません。管理画面によっては値に「.」だけを入力できないことがあるため、その場合はDNS事業者のヘルプを確かめてください。あわせて、このドメインからメールを送らないなら、SPF(TXTレコード)で送信元が無いことを示しておくと、なりすましの対策になります。
設定後の確認
権威DNSサーバーに直接問い合わせると、キャッシュに左右されない「今の設定」が見えます。続けて公開DNSで、外からどう見えるかを確かめます。
dig @ns1.example-dns.net example.com MX +norecurse +noall +answer
dig @8.8.8.8 example.com MX +noall +answer
# 値に書いたホスト名が名前解決できるか
dig mail.example.com A +short
dig mail.example.com AAAA +short
確かめる点は次のとおりです。
- 優先度とホスト名が意図どおりか、古いMXが残っていないか。
- ホスト名の後ろにドメイン名が二重に付いていないか。
- ホスト名のAまたはAAAAが返るか。何も返らない場合、送信側はそのサーバーに配送できません。
最後に、Gmail など外部のアドレスからテストメールを送り、受信できるか、届いたメールのヘッダー(Received 行)に意図したサーバーが記録されているかを見ます。
WordPressサイトで気を付けること
MXが影響するのは 受信 です。WordPressの問い合わせフォームや通知メールが「送れない」問題は、MXではなく送信側(SMTPの設定やSPF・DKIM)の問題であることが多いので、切り分けて考えます。
一方、Webサーバーとメールを別のサービスに分けているのに、Webサーバー上のメール送信ソフトが「example.com は自分宛て」と判断してしまい、サイトからの通知が外部のメールサービスへ届かない、という例があります。MXを外部サービスへ向けた後に、自サイト宛ての通知だけ届かないときは、Webサーバー側のメール送信ソフトの設定(自分が受け取るドメインの一覧)を確かめてください。設定ファイルを変更する前には、元のファイルを複製して残しておきます。
まとめ
- MXレコードは「名前・優先度・メールサーバーのホスト名」で構成し、優先度は小さいほど優先されます。
- 値にはIPアドレスやCNAMEの名前ではなく、A/AAAAを持つホスト名を書きます。ゾーンファイルでは末尾のドットを忘れないようにします。
- 乗り換えではTTLを先に下げ、新しいMXを登録して古いMXを削除し、権威DNSと公開DNSで確認してから送受信をテストします。
- サブドメインのメールにはその名前のMXが別途必要です。メールを使わないドメインには null MX(
0 .)を置けます。 - MXは受信の設定です。WordPressの送信トラブルとは分けて調べます。