ガイド

MXレコードとは?メール配送の仕組み・優先度・設定方法をわかりやすく解説

MXレコードの基本的な意味から、メールが届くまでの流れ、優先度の考え方、具体的な設定方法、確認方法、よくあるトラブルまでを、わかりやすく解説

公開
目次
  1. MXレコードとは
  2. メールが届くまでの流れ
  3. MXレコードの構成要素
  4. 優先度の考え方
  5. MXレコードの設定例
  6. MXレコードを設定するときの注意点
  7. 値にはIPアドレスではなくホスト名を指定する
  8. 値にCNAMEを指定しない
  9. 不要な古いMXレコードを残さない
  10. サブドメインのメールにも設定が必要
  11. MXレコードがない場合はどうなる?
  12. MXレコードとあわせて設定したいレコード
  13. MXレコードの確認方法
  14. コマンドで確認する
  15. ドメインチェッカーなどのWebツールで確認する
  16. よくあるトラブルと対処法
  17. メールが届かない
  18. 設定を変更したのに反映されない
  19. 迷惑メールに分類されてしまう
  20. CDNやプロキシを使っているとメールが届かない
  21. よくある質問
  22. MXレコードの「MX」は何の略ですか?
  23. AレコードとMXレコードの違いは何ですか?
  24. MXレコードは複数設定してもよいですか?
  25. ウェブサイトだけでメールは使わない場合、MXレコードは不要ですか?
  26. まとめ

独自ドメインでメールアドレスを使いたいとき、DNSの設定画面で必ず登場するのが「MXレコード」です。「[email protected]」のようなアドレスでメールを受け取るには、このMXレコードが正しく設定されている必要があります。

一方で、「Aレコードとは何が違うの?」「優先度って何を入れればいいの?」「設定したのにメールが届かない」といった疑問やトラブルも多く、初心者がつまずきやすいポイントでもあります。

この記事では、MXレコードの基本的な意味から、メールが届くまでの流れ、優先度の考え方、具体的な設定方法、確認方法、よくあるトラブルまでを、わかりやすく解説します。

MXレコードとは

MXレコード(Mail Exchanger Record)とは、そのドメイン宛てのメールを受け取るメールサーバーを指定するDNSレコードです。

たとえば、誰かが「[email protected]」宛てにメールを送るとき、送信側のメールサーバーは「example.comのメールはどこのサーバーに届ければいいのか」を調べます。その答えを教えてくれるのがMXレコードです。

郵便にたとえると、ドメイン名は「住所の町名」、MXレコードは「その町宛ての郵便物を受け付ける郵便局の指定」のようなものです。ウェブサイトの表示先を決めるのがAレコード、メールの届け先を決めるのがMXレコード、と役割を分けて覚えるとわかりやすいでしょう。

メールが届くまでの流れ

MXレコードがどのように使われるのか、メールが届くまでの流れを見てみましょう。ここでは、Aさんが「[email protected]」宛てにメールを送る場合を例にします。

  1. Aさんが自分のメールソフトから、[email protected]宛てにメールを送信する
  2. Aさんのメールサーバーが、アドレスの「@」より後ろのドメイン(example.com)のMXレコードをDNSに問い合わせる
  3. DNSから、メールサーバーのホスト名(例:mail.example.com)と優先度のリストが返される
  4. 送信側のサーバーは、そのホスト名のAレコード(またはAAAAレコード)を調べ、IPアドレスを取得する
  5. 取得したIPアドレスのメールサーバーに接続し、SMTPという方式でメールを配送する
  6. 受信側のメールサーバーがメールを受け取り、受信者のメールボックスに保存する

つまり、MXレコードは「メールの配送先となるサーバーの名前」を教える役割を持ち、その名前から実際のIPアドレスを引くときにAレコードが使われます。両者は連携して働いているのです。

MXレコードの構成要素

MXレコードには、主に次の項目があります。

項目内容
ホスト名(名前)どのドメイン(またはサブドメイン)宛てのメールか@(ドメイン直下)
タイプレコードの種類MX
優先度(プライオリティ)複数のメールサーバーがあるときの順位10
値(メールサーバー名)メールを受け取るサーバーのホスト名mail.example.com
TTL情報をキャッシュしてよい時間(秒)3600

Aレコードとの大きな違いは、「優先度」という項目があることと、値にIPアドレスではなくホスト名を指定することです。

優先度の考え方

MXレコードの優先度は、数字が小さいほど優先されるというルールになっています。たとえば、次のように設定したとします。

優先度メールサーバー
10mail1.example.com
20mail2.example.com

この場合、送信側のサーバーはまず優先度10のmail1.example.comに配送を試みます。mail1が停止しているなどの理由で接続できなかった場合に、優先度20のmail2.example.comへ配送を試みます。このように、予備のメールサーバーを用意しておくことで、障害時にもメールを受け取りやすくなります。

同じ優先度を複数のサーバーに設定した場合は、送信側がそれらの中から選んで配送するため、負荷分散のような動きになります。

なお、優先度の数値そのものに特別な意味はなく、大小関係だけが重要です。10、20、30のように間隔を空けて設定しておくと、後から途中に別のサーバーを追加しやすくなります。

MXレコードの設定例

独自ドメイン「example.com」で、Google WorkspaceやMicrosoft 365などのメールサービスを使う場合、サービス側から指定されたMXレコードをDNSに登録します。設定のイメージは次のとおりです。

ホスト名タイプ優先度
@MX10mail.example.com

実際に入力する値は、利用するメールサービスやレンタルサーバーごとに決まっています。ヘルプページや設定ガイドに記載されている値を、そのまま正確に入力してください。

MXレコードを設定するときの注意点

値にはIPアドレスではなくホスト名を指定する

MXレコードの値には、「192.0.2.1」のようなIPアドレスを直接指定することはできません。必ずホスト名(例:mail.example.com)を指定し、そのホスト名に対してAレコード(またはAAAAレコード)でIPアドレスを設定しておく必要があります。

値にCNAMEを指定しない

MXレコードの値として指定するホスト名は、CNAMEレコード(別名)ではなく、AレコードまたはAAAAレコードを持つホスト名にするのが原則です。CNAMEを指すMXレコードは、メールサーバーによっては正しく配送されない原因になります。

不要な古いMXレコードを残さない

メールサービスを乗り換えたときに、古いサービスのMXレコードが残っていると、メールが古いサーバーに届いてしまい、受信できなくなることがあります。移行後は、不要になったMXレコードを削除し、新しいサービスが指定する値だけが登録されているかを確認しましょう。

サブドメインのメールにも設定が必要

[email protected]」と「[email protected]」は、別のホスト名として扱われます。サブドメインのアドレスでメールを受け取りたい場合は、そのサブドメイン用のMXレコードも別途設定する必要があります。

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

MXレコードが設定されていない場合、送信側のサーバーは、そのドメインのAレコードに登録されているIPアドレスに直接メールを送ろうとします。ただし、これはあくまで補助的な動作であり、多くの場合は意図した結果になりません。たとえば、ウェブサイト用のサーバーにメールが届いてしまい、受信できないといったケースです。

メールを使う予定があるドメインでは、必ずMXレコードを明示的に設定しておきましょう。

逆に、メールをまったく使わないドメインの場合は、「このドメインはメールを受け取らない」という意思表示として、優先度0、値を「.」(ドット)にした「Null MX」を設定する方法もあります。なりすましメールの温床になるのを防ぐ目的で、使われることがあります。

MXレコードとあわせて設定したいレコード

メールを安全に送受信するためには、MXレコード以外にも、次のようなTXTレコードを設定しておくのが一般的です。

仕組み役割
SPFそのドメインからメールを送ってよいサーバーを宣言する
DKIMメールに電子署名を付け、改ざんされていないことを証明する
DMARCSPFやDKIMの認証に失敗したメールをどう扱うかを指定する

これらは、自分のドメインを騙ったなりすましメールを防いだり、送信したメールが迷惑メール扱いされにくくしたりするために重要です。近年は、大手のメールサービスが送信元認証を求める傾向が強まっているため、メールを送る予定がある場合は、MXレコードとあわせて設定を確認しておくことをおすすめします。

MXレコードの確認方法

設定したMXレコードが正しく登録されているかは、次の方法で確認できます。

コマンドで確認する

Mac・Linuxではdigコマンド、Windowsではnslookupコマンドが使えます。

dig example.com MX +short
nslookup -type=MX example.com

実行すると、次のように優先度とメールサーバー名が表示されます。

10 mail.example.com.

ドメインチェッカーなどのWebツールで確認する

ブラウザ上でドメイン名を入力するだけでMXレコードを調べられるWebツールを使えば、コマンド操作なしで確認できます。優先度の順に並んだメールサーバーの一覧や、設定の反映状況を簡単に把握できるため、初心者の方にも便利です。

よくあるトラブルと対処法

メールが届かない

メールが届かないときは、次の点を確認してみましょう。

  • MXレコードが登録されているか(typoや入力漏れがないか)
  • 値に指定したホスト名が、正しいIPアドレスに解決できるか
  • 古いサービスのMXレコードが残っていないか
  • 優先度の設定が意図したとおりになっているか
  • ネームサーバーの設定が、意図したDNSサービスを向いているか

設定を変更したのに反映されない

DNSの変更は、キャッシュの影響で、反映までに時間がかかることがあります。TTLの時間が経過するまでは、古い情報が使われる場合があります。メールサービスの乗り換えなど、MXレコードを変更する予定がある場合は、事前にTTLを短くしておくと、切り替えがスムーズです。

迷惑メールに分類されてしまう

MXレコードが正しくても、SPF、DKIM、DMARCが未設定だと、送信したメールが迷惑メールとして扱われやすくなります。送信側の認証設定もあわせて見直しましょう。

CDNやプロキシを使っているとメールが届かない

Cloudflareなど、通信をプロキシするサービスを使っている場合、メールサーバーのホスト名に対応するAレコードをプロキシ状態にすると、メールの配送がうまくいかないことがあります。メール用のレコードは、プロキシを経由しない(DNSのみ)設定にするのが一般的です。

よくある質問

MXレコードの「MX」は何の略ですか?

「Mail Exchanger(メール・エクスチェンジャー)」の略です。メールを交換(中継・配送)するサーバーを指定する、という意味を持ちます。

AレコードとMXレコードの違いは何ですか?

Aレコードは、ドメイン名に対してIPv4アドレスを対応付け、主にウェブサイトの表示先を決めます。MXレコードは、そのドメイン宛てのメールを受け取るサーバーを指定します。ウェブサイトとメールを別々のサーバーで運用することも可能です。

MXレコードは複数設定してもよいですか?

はい、複数設定できます。優先度を変えれば、メインと予備のメールサーバーを使い分けられます。ただし、メールサービスによっては、指定された複数のMXレコードをすべて登録する必要があるため、ガイドの指示に従ってください。

ウェブサイトだけでメールは使わない場合、MXレコードは不要ですか?

基本的には不要です。ただし、なりすまし対策として、Null MXやSPFの拒否設定を入れておくケースもあります。

まとめ

MXレコードについて、要点を整理します。

  • MXレコードは、そのドメイン宛てのメールを受け取るメールサーバーを指定するDNSレコードである
  • 優先度は数字が小さいほど優先され、予備のサーバーを用意する際にも使われる
  • 値にはIPアドレスではなくホスト名を指定し、そのホスト名にはAレコードを設定しておく
  • サービスの乗り換え時は、古いMXレコードを削除し、新しい値だけを残す
  • SPF、DKIM、DMARCもあわせて設定すると、なりすましや迷惑メール扱いを防ぎやすくなる
  • 設定後は、dig・nslookup・ドメインチェッカーなどで登録内容を確認する

MXレコードは、独自ドメインのメールを使ううえで欠かせない基本設定です。仕組みを理解しておけば、メールサービスの導入や乗り換え、届かないときのトラブル対応でも、落ち着いて原因を切り分けられるようになります。ドメインの状態を確認したいときは、ドメインチェッカーなどのツールも活用しながら、正しい設定を維持していきましょう。