MXレコード (メール交換) とは何か?
MX (メール交換)レコードはDNSレコードタイプで、ドメイン向けにメールを受け取る責任があるメールサーバーを指定します。누군가가user@example.com にメールを送信するとき、送信メールサーバーはメッセージを配信する場所を見つけるために example.com 向けのMXレコードをルックアップします。
MXレコードの動作方式
メール配信プロセス:
1. 送信者がメール作成 user@example.com へ
2. 送信者のサーバーがクエリ example.com 向けのDNS MXレコード
3. DNSが返す 優先度を持つ1つまたは複数のMXレコード
4. 送信者が接続 最高優先度のメールサーバーに
5. 利用不可の場合 送信者が次の優先度サーバーを試す
6. メール配信 または再試行のためキューに追加
MXレコード形式
example.com. IN MX 10 mail.example.com.
example.com. IN MX 20 mail-backup.example.com.
コンポーネント:
- example.com. - メールを受け取るドメイン
- IN MX - レコードタイプ
- 10 - 優先度 (低い = より高い優先度)
- mail.example.com. - メールサーバーホスト名
優先度番号
優先度はサーバーが試みられる順序を決定します:
- 10 - プライマリメールサーバー (最初に試す)
- 20 - セカンダリ (プライマリが失敗した場合のフォールバック)
- 30 - 三次 (最後の手段)
低い数字 = より高い優先度。多くのセットアップはサーバーを後で挿入するための10単位を使用します。
一般的なMX構成
自身ホストメール
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.50
Google Workspace
@ IN MX 1 aspmx.l.google.com.
@ IN MX 5 alt1.aspmx.l.google.com.
@ IN MX 5 alt2.aspmx.l.google.com.
@ IN MX 10 alt3.aspmx.l.google.com.
@ IN MX 10 alt4.aspmx.l.google.com.
Microsoft 365
@ IN MX 0 example-com.mail.protection.outlook.com.
Zoho Mail
@ IN MX 10 mx.zoho.com.
@ IN MX 20 mx2.zoho.com.
@ IN MX 50 mx3.zoho.com.
MXレコード要件
ターゲットはホスト名である必要があります
MXレコードはIPアドレスではなく、ホスト名をポイントする必要があります:
# 正しい
@ IN MX 10 mail.example.com.
# 不正 - 機能しません
@ IN MX 10 203.0.113.50
ターゲットはA/AAAAレコードが必要
メールサーバーホスト名はIPに解決される必要があります:
@ IN MX 10 mail.example.com.
mail IN A 203.0.113.50
CNAMEターゲットなし
MXレコードはCNAMEレコードをポイントすべきではありません (RFC 2181):
# これを避ける
mail IN CNAME host.provider.com.
@ IN MX 10 mail.example.com.
MXレコードの確認
dig を使用:dig example.com MX
; ANSWER SECTION:
example.com. 300 IN MX 10 mail.example.com.
example.com. 300 IN MX 20 mail-backup.example.com.
DomScanを使用:
curl "https://domscan.net/v1/health?domain=example.com"
# DNS詳細で hasMX: true/false を返す
MXレコードおよびメールセキュリティ
MXレコードは他のメール認証レコードと共に機能します:
| レコード | 目的 |
|---|---|
| MX | 受信メールをルート |
| SPF | 送信サーバーを認可 |
| DKIM | 送信メッセージに署名 |
| DMARC | ポリシー実装 |
4つすべてを適切なメール操作および送信可能性向けに構成すべきです。
MXの問題のトラブルシューティング
MXレコード欠落
MXレコードが存在しない場合、一部のサーバーはAレコード検索にフォールバック、しかし信頼性が低い。常に明示的なMXレコードを構成してください。
間違った優先度
バックアップサーバーが意図していた場合より低い優先度 (より高い数字)を持つ場合、プライマリが失敗しない限りメール受信しません。
ホスト名解決失敗
MXターゲットホスト名が解決しない場合、メール配信は失敗。メールサーバーホスト名向けのAレコードが存在することを確認してください。
TTL考慮
メールプロバイダーを移行する場合、変更前にMX TTLを低くして伝播速度を上げ、その後TTLを通常に戻します。
ベストプラクティス
1. 常にMXレコード保有: Aレコードフォールバックに依存しないでください
2. バックアップサーバー構成: 異なる優先度を持つ複数のMXレコードを使用
3. ターゲット解決を検証: メールサーバーホスト名が A レコードを持つことを確認
4. メール認証実装: SPF、DKIM、およびDMARCをMXと共に追加
5. メール配信をモニター: ツールを使用してMX構成をテスト