MXレコードとは?役割と仕組み、確認方法を徹底解説
メールはビジネスシーンにおいて欠かせないツールです。大量のメールが飛び交う現代では、大切なメッセージが迷惑メールだと判定判断されないようにしなくてはなりません。
相手にメールを確実に届けるためには、DNSを正しく設定することがポイントです。DNS設定の中でメールに関連するレコードのひとつである「MXレコード」は、メールを正常に送受信するため大きな役割を果たしています。
この記事では、MXレコードの概要や設定の必要性、設定後の確認方法などについて紹介します。
2023年10月、Gmailのメール送信者ガイドラインがアップデートされました。2024年2月以降、Gmailアカウントに1日あたり5,000件を超えるメールを送信する送信者は、送信ドメインにSPFレコード・DKIM署名・DMARCメール認証の設定が必要などの記載があります。
より詳しい内容や対策方法は以下の記事で解説していますので参考にしてください。
関連記事:Gmail送信者のガイドライン変更の内容と対応方法を”1から”解説!
MXレコードとは
MXレコードについて解説する前に、まずは「DNS設定」を確認しておきましょう。
DNSとは、IPアドレスとドメイン名を紐づけし、IPネットワーク上で管理するためのシステムを指します。DNSが正しく設定されないと、Webサイトの閲覧や電子メールが適切に使用できません。
MX(Mail Exchanger)レコードは、DNSレコードの一種です。MXレコードを正確に設定することで、独自ドメイン宛てのメールを転送するメールサーバーを指定できます。
なお、MXレコードには以下の2つの情報が含まれています。
- メールサーバーのドメイン名/ホスト名
- 2.各メールサーバーに割り振られた優先順位
MXレコードの書式と設定例
MXレコードは、ドメイン名/ホスト名、IN MIX(優先度)、メールサーバーホスト名の順番で表記されます。書式の具体例は以下の通りです。
ドメイン名/ホスト名 | IN MX優先順位 | メールサーバーホスト名 |
---|---|---|
abc.com | IN MX 1 | mx.mailserver.com |
cdf.com | IN MX 10 | host.example.com |
IN MIXの数値が小さいほど優先度は高くなります。上記表の場合は優先順位「1」の「mx.mailserver.com」へ、先にメールが送信される仕組みです。もし、何らかの理由で送信できない場合は優先順位「10」の「host.example.com」に配信されます。なお、優先順位が同じ数値の場合はランダム配信となり、この方法で受信メールサーバーにかかる負荷を分散できます。
MXレコードとAレコード
メールを正確に送受信するためには、Aレコードの設定も重要です。ここからは、Aレコードについて基本的な説明と、MXレコードとAレコードの違いを紹介します。
Aレコードとは
Aレコードとは、Addressの頭文字を取ったものであり、ドメインをIPアドレスに変換する最も基本的なレコードです。ホストを指すドメイン名(FQDN:Fully Qualified Domain Name)に対し、対応するIPv4アドレスを定義します。1つのドメイン名に複数のIPv4アドレスを関連付けすることも可能です。書式の具体例は以下の通りです。
xxxxx.jp. IN A 192.168.0.1
上記の場合、xxxxx.jp.のIPアドレスは192.168.0.1となります。なお、IPアドレスにはIPv4アドレスとIPv6アドレスの2種類あり、AレコードはIPv4アドレスを使用します。IPv6アドレスはAAAAレコードです。
MXレコードとAレコードの特徴・違い
MXレコードとAレコードの具体的な違いについて、まずはそれぞれの特徴から確認しましょう。
- MXレコード:対象ドメイン宛てのメールを転送するメールサーバーを指定する
- Aレコード:IPv4アドレスでドメイン名とIPアドレスの関連付けを定義する
MXレコードを設定するためには、事前にAレコードの設定を行う必要があります。なぜなら、Aレコード設定をしていないとドメイン名とIPアドレスの関連付けが定義されず、名前解決ができないためです。
名前解決とは、ドメイン名とIPアドレスを関連付け(変換)することを指します。クライアントからDNSサーバーに問い合わせた時に名前解決ができないとメールサーバーのIPアドレスが分からなくなってしまうのです。
つまり、MXレコードでメールサーバーを指定しても、名前解決ができないとIPアドレスが確認できないためメールサーバーを指定できない状態になり正常に動作しません。
MXレコードの仕組み
MXレコードはメールを送受信する時に使用されますが、どのような仕組みで送受信されるのでしょうか。ここからは、MXレコードの仕組みに関して受信側・送信側に分類して解説します。
受信者側でのMXレコードの役割
受信側のMXレコードは以下のような流れでメールを受信します。
- メールクライアントからメールを送信
- 受信ドメインDNSサーバーに対し送信メールサーバーが問い合わせし、名前解決を行う
- DNSに設定済みのMXレコードを参照し、ドメインあてのメールをどのメールサーバーに転送するのか確かめる
- 指定済みのメールサーバーにメールを送信
- メールが受信される
上記の流れでメールを受信しますが、受信側でMXレコードが定義されていない、Aレコードが設定されていないなどが原因でエラーが発生することもあります。その場合は送信元にエラーが発生したことを通知します。
送信者側でのMXレコードの役割
送信する際、利用するドメインにMXレコードが設定されていないと受信側のセキュリティチェックに引っかかります。
その結果、送信したメールが迷惑メールと判断されて迷惑メールフォルダに振り分けられたりブロックされたりする可能性があります。スパムメールは、メールアドレスを偽装して返信不能なメールアドレスを使いメールを送信するため、MXレコードが設定されていないと返信不可となり、スパムを送られていると疑われてしまうのです。
受信側のメールサーバーは、メールを受信するとセキュリティチェックを実施します。具体的には、受信したメールのヘッダに記載されている送信元ドメインDNSに問い合わせし、MXレコードが正確に設定されているかどうかをチェックするのです。
このようなセキュリティチェックを経て問題がなければメッセージを受信できるため、MXレコードをきちんと設定してからメールを送る必要があります。
MXレコードの確認方法
正しいMXレコードが設定されているかどうかを確認する際は、2つの方法が用いられます。PCのコマンドを実行する方法と外部WEBサービスを利用する方法です。
まずは、コマンドでMXレコードを確認する方法から見てみましょう。
Windowsの場合
1.PC(Windows)のコマンドプロンプトを起動する
2.nslookupコマンドを使用する(下記参照)
nslookup -type=mx xxxxx.jp
nslookupの次に-type=mxと自身のドメイン名の書式を入力する
3.Enterを押すとMXレコードが出力される
Linux・macの場合
1.digコマンドを使用する
2.以下の書式を入力する
# dig xxxxx.jp mx
digの次に自身のドメイン名を入力し、mxを付けてコマンドを実行
3.Enterを押す
4.DNSサーバーにDNS問い合わせが実施され、結果が表示される
Linuxの場合、dig以外にnslookupコマンドもありますが、nslookupコマンドは加工した状態の結果を表示するため、digを使用することを推奨します。
DNS設定確認サイト
外部WEBサービスを利用する方法も有効です。MXレコードを確認したいドメイン名などの必要情報を、外部WEBサービスのフォームに入力し実行すると結果が表示されます。以下の2つは、代表的なDNS設定確認サイトのため、利用してみるとよいでしょう。
nslookup(dig)テスト【DNSサーバ接続確認】:https://www.cman.jp/network/support/nslookup.html
MGT.jp DNSチェック:https://mgt.jp/t/dns
まとめ
MXレコードは、メールを正常に送受信するために必要なもので、正しく設定されていないと迷惑メールと判断されてしまい、受信されない恐れがあります。このような問題を防ぐためには、Aレコードを設定した上でMXレコードを設定することが大切です。
MXレコード設定後は、紹介した手順でMXレコードが正しく設定されているかも忘れずに確認しましょう。