Contents
http://dns.qmail.jp/974.html メール配送経路選択とドメインシステム MAIL ROUTING AND THE DOMAIN SYSTEM (RFC 974)
- ドメイン内のホストを推奨します。
- CNAME を書いてはいけません。
1. MTAの動作
送信側の Message Transfer Agent (MTA) は メイルの宛先アドレスにある宛先ドメインの受信サーバを探します。 このとき、ドメイン名をキーにして DNS MXレコードを検索します。
MXレコードが見つからない場合には、MX がなかったという返事が返ります。
- この場合、送り側は A レコードを検索しなおします。(MX レコードがなかった時代との互換性のためです。) そうすると、DNS 検索は 2度起きることになります。ネットワークに無用な負荷をかけることになります。 メイル配送も遅くなります。
最近では spam対策のために、 MX レコードが定義されていないドメインらのメイルを拒否する サイトも現われています。
MX レコードを検索すると、MXレコードとともに付随する A レコードが返ってくることがあります。 ([WWW]RFC 1034 3.7.1)
- これは MX レコード値に現われる名前がそのドメイン内のホストである場合に限って信用できるものです。
- MX レコードで指定される名前がドメイン外のホストである場合には A レコードを定義/返事してはいけません。
- 問合せた側はドメイン外のホストに対する A レコードは捨てるべきです。
2. CNAME
MXの値を別名(CNAME, alias)にしてはならない http://RFC/rfc1034.txt RFC 1034 3.7.1、 http://RFC/rfc2181.txt RFC2181 にはMXレコードの値をaliasにしてはならない とあります。
背景:MXレコードを検索したときに CNAMEが返ってくると、 それを正規名に変換するための検索をする必要があるので、 余計な手間がかかることになります。 ( RFC 1912 2.4) 検索に失敗するかもしれません。
受信ホストでCNAMEのことを忘れた設定をしてると、 メイルを受け取り損ねるかもしれません。
3. additional A レコード
MXレコードには Aレコードを持つホスト(ドメイン)名を書いてください。 ホスト名はドメイン内の名前を推奨します。 外部の名前も使えますが、余分の DNS 検索が必要になり、 障害の影響も受け易くなります。
envelopeに現れるドメインにも別名は使わないようにしましょう。(RFC 821 SMTP) CNAME lookup failed temporarily(FAQ 2.5.) 別名にMXは設定できないことにも注意しよう。
4. ワイルドカード MX はやめよう
DNS 初心者は DNS の設定を楽にしようとして、 ワイルドカードMXを使いたくなるかもしれませんが、 ワイルドカードMXは使わないことを勧めます。(浜野さんに感謝)