久しぶりにメールサーバの設定をいろいろやった。
その際にテスト用にメールソフトを設定したが、何やら自動検出の仕組みがあるようだ
調べて見ると、RFC6186により定義されているDNSのSRVレコードにより、IMAP/POP3/SMTPのサーバ名、ポート番号情報を広報することができるらしい。
SRVレコードの定義:RFC2782 A DNS RR for specifying the location of services (DNS SRV)
SRVレコードでメールサーバ定義を配布:RFC6186 Use of SRV Records for Locating Email Submission/Access Services
設定例としてmailcowの「DNS setup」の「The advanced DNS configuration」にちょうどいい感じのがあったので引用
Example DNS server configuration
mail IN A 1.2.3.4
autodiscover IN A 1.2.3.4
autoconfig IN A 1.2.3.4
@ IN MX 10 mail
_imap._tcp IN SRV 0 1 143 mail.example.org.
_imaps._tcp IN SRV 0 1 993 mail.example.org.
_pop3._tcp IN SRV 0 1 110 mail.example.org.
_pop3s._tcp IN SRV 0 1 995 mail.example.org.
_submission._tcp IN SRV 0 1 587 mail.example.org.
_caldavs._tcp IN SRV 0 1 443 dav.example.org.
_carddavs._tcp IN SRV 0 1 443 dav.example.org.
_autodiscover._tcp IN SRV 0 1 443 autodiscover.example.org.
@ IN TXT "v=spf1 mx ~all"
default._domainkey IN TXT "v=DKIM1; k=rsa; t=s; s=email; p=..."
; _dmarc IN TXT "v=DMARC1; p=reject; rua=mailto:mailauth-reports@example.org"
「_サービス名.tcp IN SRV 優先度 ウェイト ポート番号 サーバ名」というのが基本書式
優先度は0が最優先。最大は65535。
優先度が同じもののなかで、どちらが使われるかをウェイトで定義。ウェイトは数が大きい方が優先される。こちらも値は0~65535の範囲。
例えば、SSL無しのアクセスを禁止する場合、下記のように禁止するサービスの名前解決を「.」が返るようにする
_imap._tcp IN SRV 0 0 0 .
_imaps._tcp IN SRV 0 1 993 mail.example.org.
_pop3._tcp IN SRV 0 0 0 .
_pop3s._tcp IN SRV 0 1 995 mail.example.org.
IMAPを優先して使わせたい場合は、以下のようになるようだ。
_imap._tcp IN SRV 0 1 143 mail.example.org.
_imaps._tcp IN SRV 0 1 993 mail.example.org.
_pop3._tcp IN SRV 10 1 110 mail.example.org.
_pop3s._tcp IN SRV 10 1 995 mail.example.org.
Outlookの場合は、DNSの_autodiscoverについてのSRVレコード登録から、Webサーバ上にあるxmlファイル内にアクセスして、サーバ設定を読み込むようになっているようだ
「Outlook 2010 におけるユーザー アカウント自動構成の計画」
Exchange互換のSOGoを使う場合の設定は「6.5. Name Service Configuration for Web Services」に記載がある。
このページにSPF/DKIM/DMARCの動作確認「HAD Email Test Tool」が紹介されていたので記載されているメールアドレスに「test」と書いたメールを送ってみた。
・・・30分ぐらい待ってもメールが来ない
「 A reply will be sent with the findings」とあるから、何か見付かったらメールが来るってことで、来ないってことは問題ないということでいいのかな?っと
2018/07/18追記
Thunderbird MailとOutlookの古いやつだとxmlファイルを置いて設定検出が出来る
ただし、どちらもURLとxml書式が異なる
Thunderbirdの場合
・http://autoconfig.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com
・http://example.com/.well-known/autoconfig/mail/config-v1.1.xml
Outlookの場合
・https://*domain*/autodiscover/autodiscover.xml
・https://autodiscover.*domain*/autodiscover/autodiscover.xml
・HTTP GET: http://autodiscover.*domain*/autodiscover/autodiscover.xml
「Thunderbird のアカウント情報自動設定機能」
「Outlook 2010 におけるユーザー アカウント自動構成の計画」
「Exchange Server 2013 の自動検出サービス 」と「White Paper: Exchange 2007 Autodiscover Service」