この用語をシェア
MXレコードとは
MXレコード(Mail eXchange Record)は、ドメインのメール配送先サーバーを指定するDNSレコードです。メールシステムの基本設定であり、送信側メールサーバーは受信先ドメインのMXレコードをDNS照会して、配送先サーバーを決定します。
MXレコードの構造
基本形式
# MXレコードの形式
example.com. IN MX 10 mail.example.com.
example.com. IN MX 20 mail2.example.com.
# 優先度 10 が最優先(数値が小さいほど高優先)
レコードの構成要素
| 要素 | 説明 |
|---|---|
| ドメイン | メール受信対象のドメイン |
| 優先度 | 10、20など(小さいほど高優先) |
| メールサーバー | 配送先サーバーのFQDN |
MXレコードの動作原理
メール配送フロー
1. user@sender.com が user@example.com にメール送信
2. 送信側MTAがDNS照会
→ dig example.com MX
3. MXレコード取得
→ 10 mail.example.com
→ 20 mail2.example.com
4. 優先度順に配送試行
→ mail.example.com(優先度10)に配送
→ 失敗時はmail2.example.com(優先度20)にフォールバック
複数MXレコードの冗長化
複数のMXレコードを設定することで、メインサーバー障害時のフェイルオーバーを実現します:
example.com. IN MX 10 mail1.example.com. # メイン
example.com. IN MX 20 mail2.example.com. # バックアップ
example.com. IN MX 30 mail3.example.com. # 2次バックアップ
自社メールサーバー運用への応用
DNSゾーンファイル設定例
; example.com zone file
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 192.0.2.10
Route 53(AWS)での設定
{
"Name": "example.com",
"Type": "MX",
"TTL": 300,
"ResourceRecords": [
"10 mail.example.com"
]
}
MXレコード確認方法
# コマンドライン確認
dig example.com MX
nslookup -type=MX example.com
# オンラインツール
https://mxtoolbox.com/
https://dnschecker.org/
MXレコード設定のベストプラクティス
推奨設定
- 複数サーバー設定: 最低2つのMXレコード(冗長化)
- 適切なTTL: 300〜3600秒(変更時の柔軟性と負荷のバランス)
- PTRレコード設定: 各メールサーバーの逆引き設定
- Aレコード対応: MXレコードのFQDNは必ずAレコードで解決可能に
よくある設定ミス
- ❌ CNAMEの使用: MXレコードでCNAMEは使用不可
- ❌ IPアドレス指定: FQDNを指定(IPアドレス直接指定不可)
- ❌ 末尾ドット忘れ: FQDNは末尾ドット必須(mail.example.com.)
- ❌ 自己参照: example.com → example.com(ループ発生)
クラウドメールサービスとの連携
Google Workspace
example.com. IN MX 1 ASPMX.L.GOOGLE.COM.
example.com. IN MX 5 ALT1.ASPMX.L.GOOGLE.COM.
example.com. IN MX 5 ALT2.ASPMX.L.GOOGLE.COM.
example.com. IN MX 10 ALT3.ASPMX.L.GOOGLE.COM.
example.com. IN MX 10 ALT4.ASPMX.L.GOOGLE.COM.
Microsoft 365
example.com. IN MX 0 example-com.mail.protection.outlook.com.
関連ブログ記事
まとめ
MXレコードは、メールシステムの基盤となるDNS設定です。自社メールサーバーを構築する際は、複数サーバーの設定、適切な優先度、PTRレコードとの組み合わせにより、安定したメール配送を実現できます。設定ミスはメール不達の原因となるため、DNSツールでの確認が重要です。
