DNS MXレコードとは?

MXレコードは、メールをメール交換サーバーに送信します。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • MXレコードの目的を理解する
  • メール送信時のMXレコードの扱いについて

記事のリンクをコピーする

DNS MXレコードとは?

DNSの「メール交換」(MX)レコードは、電子メールをメールサーバーに送信するためのものです。MXレコードは、メールメッセージが、簡易メール転送プロトコル(SMTP、すべての電子メールのための標準プロトコル)に従ってルーティングするべきであることを示します。CNAMEレコードのように、MXレコードは、常に別のドメインを指し示す必要があります。

MXレコードの例:

example.com レコードのタイプ: priority: 値: TTL
@ MX 10 mailhost1.example.com 45000
@ MX 20 mailhost2.example.com 45000

これらのMXレコードのドメインの前にある「priority」の数字は優先順位を示しており、「priority」の値が小さいほど優先されます。10は20よりも小さいため、サーバは常に、最初にmailhost1に対して試行します。メッセージの送信に失敗した場合、サーバはデフォルトでmailhost2に対して試行します。

メールサービスでは、このMXレコードを以下のように設定することで、両方のサーバーが同じ優先度で、同じ量のメールを受信するようにすることもできます。

example.com レコードのタイプ: priority: 値: TTL
@ MX 10 mailhost1.example.com 45000
@ MX 10 mailhost2.example.com 45000

この構成では、メールプロバイダーは2つのサーバー間で均等に負荷分散することができます。

MXレコードの問い合わせプロセスとは?

メッセージ転送エージェント(MTA)ソフトウェアは、MXレコードの問い合わせ機能を担います。ユーザが電子メールを送信すると、MTAはDNSにクエリーを送信して、電子メール受信元のメールサーバを特定します。MTAは、優先順位の高いドメイン(上記の最初の例では、mailhost1)から順に、これらのメールサーバとSMTP接続を確立します。

バックアップMXレコードとは?

バックアップMXレコードとは、「priority」の値が大きい(優先度が低い)メールサーバー用のMXレコードのことで、通常の状況下ではメールはより優先度の高いサーバーに送られるようになっています。上記の最初の例では、mailhost1が稼働している限り、メールトラフィックはmailhost1で処理されるため、mailhost2が「バックアップ」サーバーとなります。

MXレコードがCNAMEを指すことはできるか?

CNAMEレコードは、ドメインの実際の名前ではなく、そのドメインのエイリアスを参照するために使用されます。CNAMEレコードは通常、そのドメインのAレコード(IPv4の場合)またはAAAAレコード(IPv6の場合)を指します。しかし、MXレコードは直接サーバーのAレコードまたはAAAAレコードを指す必要があります。CNAMEを指すことは、MXレコードの機能を定義するRFC文書で禁止されています。

CNAMEレコードの使用の詳細についてご覧ください。