はじめに
MXレコードについて、あまり理解していなかったので、勉強しました。
※図はかわいいフリー素材集 いらすとやとdraw.ioを使用しています。
MXレコードとは?
- MXレコード(Mail Exchangeレコード)は、ドメインにメールを送る際に、どのメールサーバーにメールを配送すべきかを指示するDNS(Domain Name System)の一部。
- メールが送られるべき住所のようなもの。
- MXレコードがなければ、メールは宛先不明で送れない。
ステップ1: メールの作成と送信
- メール作成: 送信者がメールクライアント(Outlook、Gmailのウェブインターフェース、スマートフォンのメールアプリなど)を使用してメール作成。
- 宛先(To)、件名(Subject)、本文(Body)などの情報を入力。
- 送信ボタンクリック: 送信者が送信ボタンをクリックし、メールは送信者のメールサーバーへ送られる。このサーバーはSMTP(Simple Mail Transfer Protocol)サーバーとして機能し、メール送信を管理。
ステップ2: 送信メールサーバーによる処理
- SMTP認証: 送信メールサーバーが送信者の認証を行う(ユーザー名とパスワードによる認証など)。
- ユーザーがメールサーバーの利用資格を持っていることを確認するために実施。
- SMTP認証成功で、ユーザーはメールサーバーを通じてメール送信が許可される。
- 宛先ドメインのMXレコード検索: 送信メールサーバーがDNS(権威DNSサーバー)を使用し、宛先のドメイン(例: abc@example.comの「example.com」部分)のMXレコードを検索。
- MXレコードがそのドメインのメール受信サーバー情報を提供。
- メール転送: MXレコードに基づき、送信メールサーバーがメールを宛先ドメインのメールサーバーに転送。
- 複数のMXレコードがある場合、最も低い優先度(数値が小さい)のサーバーが選ばれる。
ステップ3: 受信メールサーバーによる処理
- メール受信: 宛先ドメインのメールサーバー(SMTPサーバー)がメールを受け取る。
- SPFチェック: DNSに公開されたSPFレコードを参照して、メールが許可されたIPアドレスから送信されたか検証。
- DKIM署名検証: メールに付加されたデジタル署名を送信ドメインの公開鍵で検証し、メール内容の改ざんをチェック。
- DMARC検証: SPFとDKIMの結果を基に、メールが送信ドメインの認証ポリシーに合致するか確認し、失敗したメールの処理方法を決定。
- スパムフィルタリングとウイルスチェック: SPF、DKIM、DMARC検証後、追加のスパムフィルタリングとウイルスチェックを実施し、メールの安全性を評価。
- メールボックスへ配送: 上記検証とフィルタリングを通過したメールを受信者のメールボックスに配送。
ステップ4: メールの受信
- メールチェック: 受信者はメールクライアントを使ってメールボックスをチェック。IMAPやPOP3プロトコルで受信メールサーバーからメールをダウンロードまたは閲覧。
- メール閲覧: 受信者がメールを開いて読む。この時点でメールの受信プロセス完了。
MXレコードの設定方法
MXレコードの設定は、通常、ドメインを購入したレジストラの管理画面で行う。
- ドメインDNS設定アクセス: レジストラサイトにログインし、管理対象ドメインのDNS設定へ進む。
- MXレコード追加: 「MXレコードを追加」や「新しいレコードを作成」オプションを探し、クリック。
- レコード詳細入力: メールサーバーアドレスと優先度を入力。優先度は複数のメールサーバーがある場合、どのサーバーからメールを受け取るかを決定する数値。
MXレコードとメールサーバーの関係
- MXレコードはメールサーバーの住所帳。優先度が低いサーバーから順にメール配送。
- メールサーバーがダウンの場合、優先度の高い次のサーバーが使用される。
MXレコードの調査: nslookup使用
- コマンド実行:
nslookup -type=mx example.com
- 指定ドメインのMXレコード情報が表示される。出力からメールサーバーのドメイン名と優先度を確認。
使用例:
nslookup -type=mx example.com
出力結果例:
サーバー: UnKnown
Address: 192.xx.xx.xx
Non-authoritative answer:
example.com mail exchanger = 10 mail.example.com.
example.com mail exchanger = 20 mail2.example.com.
- 出力から、
example.com
に設定されている2つのMXレコードが確認できる。 - 各MXレコードには優先度(
10
、20
)とメールサーバーのドメイン名(mail.example.com
、mail2.example.com
)が含まれる。 - 優先度が低いメールサーバーが優先的に使用される。
※2台の受信側メールサーバーが設定されている。MXレコードに複数のメールサーバーが設定されている理由は、冗長性と可用性を高めるため。
参考
MXレコード【DNSレコード】とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
MXレコードとは?役割と確認方法についてわかりやすく解説! – Value Note – わかる、なるほどなIT知識。
SMTPとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典