SPFおよびDKIMによるemail送信者認証の設定
Nid: 663
メールサーバを構築してgmailにメールを送っても、迷惑メールと判断されてSPAMフォルダーに入ってしまう場合があります。これを解決するためにはメールサーバの送信者認証が必要となります。ここではgoogleやyahooなど大手フリーメールサービスプロバイダが採用しているSPFおよびDKIMの構築設定メモを記述します。
前提
- Ubuntu Linux
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.4 LTS Release: 14.04 Codename: trusty
- Postfixメールサーバでの送信テスト完了
$ postconf -d mail_version mail_version = 2.11.0
SPFの設定
- DNS設定
お名前.com 設定例
ホスト名: 入力なし TYPE: TXT VALUE: v=spf1 ip4:50.116.13.111 ~all
- 確認
$ dig octaviadata.com txt ;; ANSWER SECTION: octaviadata.com. 3600 IN TXT "v=spf1 ip4:50.116.13.111 ~all"
DKIM(DomainKeys Identified Mail)の設定
$ sudo apt-get install opendkim opendkim-tools
$ sudo vim /etc/opendkim.conf Domain octaviadata.com KeyFile /etc/postfix/dkim.key Selector dkim
$ sudo vim /etc/default/opendkim SOCKET="inet:8891@localhost"
$ sudo vim /etc/postfix/main.cf # DKIM # -------------------------------------- milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891
$ sudo vim /etc/postfix/master.cf -o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_milters
鍵
- 鍵生成
$ sudo opendkim-genkey -t -s dkim -d octaviadata.com $ sudo mv dkim.private /etc/postfix/dkim.key $ sudo chown opendkim:opendkim /etc/postfix/dkim.key
- dkim.txtの内容をDNSに登録
$ sudo cat dkim.txt dkim._domainkey IN TXT ( "v=DKIM1; k=rsa; t=y; " "p=xxxxxxxxxx" ) ; ----- DKIM key dkim for octaviadata.com
お名前.com 設定例
ホスト名 : dkim._domainkey TYPE : TXT VALUE : v=DKIM1; k=rsa; t=y; p=xxxxxxxxxx設定内容確認
$ dig dkim._domainkey.octaviadata.com TXT ... ;; ANSWER SECTION: dkim._domainkey.octaviadata.com. 3599 IN TXT "v=DKIM1; h=sha256; k=rsa; t=y; p=MIIBIjANBgkqhkiG9w..."
サービス再起動
$ sudo service opendkim start $ sudo service postfix restart
確認
- 確認用のサービスを利用
$ echo "How are you doing" | mail -s "Hi" -r admin@octaviadata.com check-auth@verifier.port25.com
返信されるメール内容で結果を確認。
========================================================== Summary of Results ========================================================== SPF check: pass DomainKeys check: neutral DKIM check: pass Sender-ID check: pass SpamAssassin check: ham
- gmail.comおよびyahoo.comアカウントへの送信テストはOK。
-
outlook.comはNG.
--- Action: failed Status: 5.0.0 Remote-MTA: dns; mx3.hotmail.com Diagnostic-Code: smtp; 550 SC-001 (BAY004-MC3F42) Unfortunately, messages from 50.116.13.111 weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors. ---
Microsoft問合せ
- 問い合わせ https://support.live.com/eform.aspx?productKey=edfsmsbl3&ct=eformts&wa
即日にメールで回答を得る。無事メール送受信できるようになった。
---
Our investigation has determined that the above IP(s) qualify for conditional mitigation. These IP(s) have been unblocked, but may be subject to low daily email limits until they have established a good reputation.
--- - 参考リンク
サポートから教えてもらったサービス。
- Hotmail and Windows Live Mail traffic data https://postmaster.live.com/snds/data.aspx