【CentOS】迷惑メール(スパム)扱いされない為の最低限設定しておきたい3つの設定【Postfix】
さくらVPSでCentOSの環境を構築し、localhost(ローカルホスト)からPostfixでメールを送信しても、なにも設定していないと高確率で迷惑メール(スパム)扱いされてしまいます。
Yahoo!メールは幾分か緩いですが、Gmailはほぼ100%迷惑メール(スパム)扱いされます。
最近は無料でSMTPサーバを貸してくれるサービスもあり、そちらを使う場合もあるかもしれませんが、localhost(ローカルホスト)から送信する場合もあると思うので、そちらで最低限しておきたい3つの設定を記します。
当方の環境は下記の通りです。
サーバー: さくらVPS(CentOS)
ドメイン: お名前.comで契約したhoge.com
メールソフト: Postfix
1. DNS逆引きレコード変更
さくらVPSの場合、契約したタイミングで、さくらのドメインが割り振られますが、WEBサービスを運営する場合は独自ドメインを取得し、そちらで運用してると思います。
何も設定せずにサーバーのIPを逆引きした場合、さくらのドメインが表示されるため、運用しているWEBサービスのドメインと異なり、迷惑メール(スパム)扱いされます。
ですので、まずはDNS逆引きレコードを運営しているWEBサービスと同じドメインに変更しましょう。
さくらVPSの場合、コントロールパネルから逆引き設定できます。
確認は以下のコマンドを叩いて、ドメインが変わっていればOK
$ nslookup IPアドレス
2. SPFレコードの設定
Sender Policy Framework(センダー・ポリシー・フレームワーク)とは、電子メールにおける送信ドメイン認証のひとつ。差出人のメールアドレスが他のドメインになりすましていないかどうかを検出することができる。 SPF もしくは SPF認証 とも呼ばれる。
端的に言えば設定しておけば成りすましじゃないよ、ということを伝えることができるので、SPFレコードを設定してください。
お名前.comの場合は下記の画像のようにしてください。
ホスト名: 空
TYPE: TXT
TTL: 3600(お好みで)
VALUE: v=spf1 +a:hoge.com ~all
DKIMの設定
Domainkeys Identified Mail(DKIM)は、電子署名方式の送信ドメイン認証である。 DKIMでは送信側で電子メールに電子署名を付加し、受信側でその電子署名を照合するという方法で送信者のドメイン認証を行う。
DKIMの設定はOpenDKIMを使います。
sudo yum install opendkim
OpenDKIMを使って鍵を作成します。
sudo opendkim-genkey -D /etc/opendkim/keys/ -s hoge_com_selector -d hoge.com
作成された/etc/opendkim/keys/hoge_com_selector.txt の内容をDNSに登録してください。
ホスト名: hoge_com_selector._domainkey
TYPE: TXT
TTL: 3600(お好みで)
VALUE: v=DKIM1; k=rsa; p=MIGfMA0GCSq…
/etc/opendkim.confの設定
# 送信と受信 Mode sv # comment out # KeyFile /etc/opendkim/keys/default.private # uncomment KeyTable refile:/etc/opendkim/KeyTable # uncomment SigningTable refile:/etc/opendkim/SigningTable # uncomment ExternalIgnoreList refile:/etc/opendkim/TrustedHosts # uncomment InternalHosts refile:/etc/opendkim/TrustedHosts
/etc/opendkim/KeyTableの設定
hoge_com_selector._domainkey.hoge.com hoge.com:hoge_com_selector:/etc/opendkim/keys/hoge_com_selector.private
/etc/opendkim/SigningTableの設定
*@hoge.com hoge_com_selector._domainkey.hoge.com
Postfixの設定
/etc/postfix/main.cfの末尾に下記を追記
smtpd_milters = inet:127.0.0.1:8891
OpenDKIMとPostfixのrestart
sudo service opendkim restart sudo service postfix restart
OpenDKIMの設定が正しいか確認
メールを送信して署名が追加されているか確認する。
# mail example@gmail.com Subject: Test Test .
メールログ(/var/log/maillog)を確認し、
DKIM-Signature header added (s=hoge_com_selector, d=hoge.com)
という文字があれば設定完了。