2026年5月23日
2026年5月23日
MXレコードの設定方法|メールサーバーの指定・優先度・確認と移行の注意点
MX レコードは「このドメイン宛てのメールを、どのメールサーバーに届けるか」を指定する DNS のレコードです。設定するのは、優先度(数値)とメールサーバーのホスト名の2つで、ホスト名には IP アドレスではなく A レコード(または AAAA レコード)を持つ名前を指定します。この記事では、MX レコードの仕組み、DNS の管理画面での設定手順、dig や nslookup での確認方法、メールサービスを乗り換えるときに受信を止めないための進め方を解説します。
MXレコードの仕組み
誰かが info@example.com にメールを送ると、送信側のメールサーバーは example.com の MX レコードを DNS に問い合わせ、返ってきたホスト名のサーバーへメールを届けます。MX レコードは、次のような形をしています。
example.com. 3600 IN MX 10 mx1.example.net.
example.com. 3600 IN MX 20 mx2.example.net.
- ホスト名(左端):メールアドレスの @ の右側のドメインです。管理画面では空欄や
@で表すことが多いです - TTL:この情報をキャッシュしてよい秒数です
- 優先度:数値が小さいほど優先されます。上の例では、まず
mx1に送り、届かないときにmx2に送ります。同じ数値を複数設定すると、送信側がその中から選んで振り分けます - 値(メールサーバー):メールを受け取るサーバーのホスト名です
MX レコードはメールの「受信」の行き先を決めるものです。自分のドメインから送ったメールが迷惑メール扱いされる問題は、MX ではなく SPF・DKIM・DMARC(TXT レコードなど)の設定が関係します。受信と送信は別の設定だと分けて考えると、トラブルの切り分けがしやすくなります。
設定する前に確認すること
どこで DNS を管理しているか
MX レコードを書き込む場所は、ドメインのネームサーバー(NS レコード)が指している DNS サービスです。ドメインを取得したレジストラ、レンタルサーバー、Cloudflare などのどこで管理しているかは、次のコマンドで分かります。
dig NS example.com +short
表示されたネームサーバーの管理画面で設定します。別の会社の管理画面で MX レコードを追加しても、ネームサーバーが向いていなければ反映されません。
メールサービスが指定する値
MX レコードに入れる値は、使うメールサービスが決めます。Google Workspace や Microsoft 365 などは、管理画面や公式ヘルプで、設定すべきホスト名と優先度を案内しています。サービスによって値の形式や推奨の本数が変わることがあるため、古いブログ記事の値をそのまま使わず、設定時点の公式の案内を確認してください(2026年10月現在)。レンタルサーバーのメールを使う場合は、サーバー会社のマニュアルに記載された値を使います。
DNSの管理画面での設定手順
管理画面の見た目はサービスごとに違いますが、入力する内容は共通です。
- ドメインの DNS レコードの編集画面を開く
- 既存の MX レコードを確認する。新しいメールサービスに切り替えるなら、古い MX レコードを残すかどうかを先に決める(後述の移行手順を参照)
- レコードを追加し、種類に「MX」、ホスト名にドメイン自体(
@または空欄)、値にメールサーバーのホスト名、優先度に指定の数値を入れる - TTL は特に指定がなければ既定値のままにする
- 保存し、下の方法で反映を確認する
入力でつまずきやすい点があります。
- 値の末尾のドット:ゾーンファイルの書式では、ホスト名の末尾に
.を付けて完全な名前を表します。管理画面によっては末尾のドットを付けないと、自分のドメイン名が後ろに付け足されてmx1.example.net.example.comのような誤った値になります。保存後の表示で確かめてください - IP アドレスは入れない:MX の値はホスト名です。IP アドレスで指定したい場合は、
mail.example.comなどの A レコードを作り、そのホスト名を MX の値にします - CNAME を指すホスト名は使わない:MX の値に CNAME(別名)のホスト名を指定することは DNS の規格上認められておらず、送信側によっては届かない原因になります
- 優先度の欄:管理画面によっては優先度を値の欄に一緒に書く形式(
10 mx1.example.net.)と、別の欄に入れる形式があります
サブドメインでメールを受ける場合(user@sub.example.com)は、ホスト名に sub を指定して MX レコードを作ります。メールを受け取らないドメインには、受信しないことを明示する「Null MX」(優先度 0、値 .)を設定できますが、使える管理画面は限られます。
設定の確認方法
設定が DNS に反映されたかは、次のコマンドで確認します。
# MX レコードの一覧
dig MX example.com +short
# 権威 DNS サーバーに直接聞く(キャッシュの影響を受けない)
dig MX example.com @ns1.example.org +short
# MX の値のホスト名が A レコードを持っているか
dig A mx1.example.net +short
Windows では nslookup -type=mx example.com で同じ情報を確認できます。
自分の PC や契約しているプロバイダの DNS は、以前の結果を TTL の間キャッシュしているため、変更直後は古い値が返ることがあります。権威 DNS サーバーに直接聞いて新しい値が返っていれば、設定は正しく入っています。その場合は時間の経過を待ちます。最後に、外部のメールアドレス(普段使いのフリーメールなど)からテストメールを送り、新しいメールボックスに届くことを確認します。
メールサービスを乗り換えるときの手順
MX レコードを切り替えると、キャッシュが切れるまでの間は、古いサーバーと新しいサーバーの両方にメールが届く可能性があります。受信を止めないために、次の順で進めます。
- 数日前に TTL を短くする:MX レコードの TTL を 300 秒程度に下げ、元の TTL の時間が過ぎるのを待ちます。切り替えたあとの反映が早くなります
- 新しいメールサービス側を先に準備する:メールアカウントの作成、ドメインの所有権の確認(TXT レコードの追加を求められることが多いです)を済ませます
- MX レコードを新しい値に変える:古い MX レコードは削除するか、サービスの案内に従います。新旧を混在させたままにすると、どちらに届くかが送信側次第になります
- しばらくは古いメールボックスも確認する:古いサーバーの契約はすぐに解約せず、届いたメールを取りこぼしていないかを数日確認します
- 送信の設定も合わせて直す:SPF のレコードに新しいサービスを加え、DKIM の設定を行い、使わなくなったサービスを SPF から外します
- 安定したら TTL を元に戻す
WordPress のサイトをサーバーごと移転するときも、MX レコードは見落とされやすい項目です。ネームサーバーを新しいサーバー会社に切り替えると、旧ネームサーバーにあった MX レコードは引き継がれません。切り替えの前に旧 DNS のレコードを書き出し、MX・TXT(SPF・DKIM・DMARC)・サブドメインのレコードを新しい DNS に先に登録してください。サイトからのお問い合わせフォームの通知が届かなくなった場合も、まず MX と SPF の設定を確認します。
まとめ
- MX レコードは、ドメイン宛てのメールを受け取るサーバーを、優先度とホスト名で指定する
- 数値が小さいほど優先され、値には A レコードを持つホスト名を指定する(IP アドレスや CNAME は不可)
- 設定する場所は、NS レコードが向いている DNS サービスの管理画面
- 値はメールサービスの公式の案内に従い、末尾のドットや優先度の欄の形式に注意する
dig MXで権威 DNS サーバーに直接聞いて確認し、テストメールで受信を確かめる- 乗り換えでは TTL を事前に短くし、古いメールボックスもしばらく残す