独自ドメイン&サーバーで、スパムメールにならないように対策する
ここしばらく最近、メールを自分のサーバーから送信する場合、SPFレコードとDKIMの設定をしないと、相手に届かない。
(どころか、迷惑メールにさえも入らず、事実上消えたメールとなってしまい、たちが悪い)
debian@vps.thld.com で、SPFレコードとDKIMの設定
Contents
DNSにSPFレコードを追加する
ホスト名 レコード TTL VALUE
vps.thld.com TXT 5 v=spf1 +ip4:181.183.20.140 -all
設定確認
$ nslookup -type=TXT vps.thld.com
Non-authoritative answer:
vps.thld.com text = "v=spf1 +ip4:181.183.20.140 -all"
となればOK
Sender ID Framework SPF Record Wizard
http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx
DKIMの設定
OpenDKIM インストール
$ sudo apt-get install opendkim opendkim-tools
OpenDKIM 設定ファイル1
$ sudo vim /etc/opendkim.conf
設定内容
Domain vps.thld.com
KeyFile /etc/postfix/dkim.key
Selector mail
SOCKET inet:8891@localhost
OpenDKIM 設定ファイル2
$ sudo vim /etc/default/opendkim
設定内容
SOCKET="inet:8891@localhost"
Postfix設定ファイル
$ 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
OpenDKIM key作成
$ opendkim-genkey -t -s mail -d vps.thld.com
OpenDKIM keyのコピー
$ cp mail.private /etc/postfix/dkim.key
OpenDKIM レコードを表示
$ cat mail.txt
mail._domainkey IN TXT ( "v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfPWSg3OvzK3s6bI4ZjcKRfn1VFTMfQIjFjzsVrrguKHCzbJoSKoHt/wf3NWPmAYG9/sNg+IZj2SUZT3+x8CkbSxsQFuUSuMsmXABSfGsRVPzr" ) ; —– DKIM key mail for vps.thld.com
DNSにレコードを追加する
ホスト名
mail._domainkey.vps.thld.com
タイプ TXT
コンテンツ
v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfPWSg3OvzK3s6bI4ZjcKRfn1VFTMfQIjFjzsVrrguKHCzbJoSKoHt/wf3NWPmAYG9/sNg+IZj2SUZT3+x8CkbSxsQFuUSuMsmXABSfGsRVPzr
サービス スタート・再起動
$ sudo service opendkim start
$ /etc/init.d/postfix restart
OpenDKIMレコード確認コマンド
$ dig mail._domainkey.vps.thld.com TXT
;; ANSWER SECTION:
mail._domainkey.example.com. 300 IN TXT
"v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA・・・"
を確認。
実際メールを送信してみてヘッダーを確認してみる。
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=vps.thld.com; s=mail;
t=1425721111; bh=wE7NXSkgnx9PGiavN4OZhJztvkqPDlemV3OGuEnLwNo=;
h=To:Subject:From:Date:From;
b=XUxMuysYQtwQlXCj4ZYWb5AgvjEVFs9xGkgeLqTc7gWOWrX4oUmlo0temUxbACrb3
q9X3W17XFrhIZsAvvCe5F+Z3npIao30RD8hi4SYg3xo3XSzKff3iVx13nK4H9dq9YZ
aDV1r1MQ0ZRq/bpyi1kiL+oa+mJLLWQNT/pI2qpE=
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of www-data@vps.thld.com designates 181.183.20.140 as permitted sender) smtp.mail=www-data@vps.thld.com;
dkim=pass (test mode) header.i=@vps.thld.com
spf、dkimともpassとなっている(OK)。
サーバーにPOPサーバーをたててwww-data@vps.thld.comを受信できるようにする
Postfixの設定
home_mailbox = Maildir/
# mailbox_command = procmail -a “$EXTENSION” コメントアウトする
設定のリロード。
$ sudo service postfix reload
Dovecotの設定
インストール
# aptitude -y install dovecot-core dovecot-pop3d dovecot-imapd
# インストール中、以下のように独自 SSL 証明書を作成されるか問われる
# とりあえず「No」
+———————–+ Configuring dovecot-core +————————+
| |
| An SSL certificate is needed in order to use IMAP or POP3 over SSL/TLS. |
| No such certificate was found. |
| |
| Please choose whether you want to create one now. This will then be a |
| self-signed certificate. |
| |
| If you choose not to create a certificate, please adapt Dovecot’s |
| configuration file (/etc/dovecot/conf.d/10-ssl.conf). |
| |
| Create a self-signed SSL certificate? |
| |
| <Yes> <No> |
| |
+—————————————————————————+
# vim /etc/dovecot/dovecot.conf
# L30:変更 ( IPv6をリスンしない場合 )
listen = *
# vim /etc/dovecot/conf.d/10-auth.conf
# L10:コメント解除し変更(プレーンテキスト認証も許可する)
disable_plaintext_auth = no
# L100:追記
auth_mechanisms = plain login
# vim /etc/dovecot/conf.d/10-mail.conf
# L30:Maildir形式に変更
mail_location = maildir:~/Maildir
# vim /etc/dovecot/conf.d/10-master.conf
# 96-98行目:コメント解除し追記
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
# vim /etc/dovecot/conf.d/10-ssl.conf
# L6:コメント解除して変更(SSLなし)
ssl = no
# 12,13行目:コメントにする
#ssl_cert = </etc/dovecot/dovecot.pem
#ssl_key = </etc/dovecot/private/dovecot.pem
# initctl start dovecot
dovecot start/running, process 1337
まだメールが届かない
cat /var/log/mail.logみると、relay access が拒否されているらしい
/etc/postfix/main.cf
mydestination = localdomain, localhost, localhost.localdomain, localhost,vps.thld.com(→追記)
/etc/init.d/postfix restart
DNSサーバーにMXレコード追記
ホスト vps.thld.com
MX vps.thld.com 10
以上で、
pop3サーバ : vps.thld.com
ユーザ名 : debian (ユーザ名)
パスワード : password (パスワード)
受信OK
MS宛申し立て
gmail、Yahooメールは、以上の設定でとりあえず「最低限迷惑メール化」するのだが(最悪、迷惑フォルダをご確認くださいといえる)、hotmail(含 live.jp、outlook.com)はこれでもスパムフィルターにひっかかる可能性がある。
その場合は、以下より申し立てする。
https://support.msn.com/eform.aspx?productKey=edfsmsbl2&ct=eformts
1-2時間して、「上記の IP アドレスにつきましては、条件付きの緩和処置を実施いたしました。ブロックは解除されましたが、IP アドレスの評価が確立されるまで、メールの送信制限を受ける可能性がございます。
なお、この緩和処置は、ユーザー様の受信トレイへの配信が保障されるものではないことを、予めご了承ください。」と返信があり、フィルターは解除された。