配置EPEL yum 源
EPEL,即Extra Packages for Enterprise Linux,這個軟體倉庫裡有很多非常常用的軟體,OpenDKIM 也在其中
wget -P /tmp http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh /tmp/epel-release-6-8.noarch.rpm
rm -f /tmp/epel-release-6-8.noarch.rpm
安裝OpenDKIM
使用yum命令直接安裝
yum install opendkim
配置OpenDKIM
接下來要修改設定檔,檔案在/etc/opendkim.conf
AutoRestart Yes
AutoRestartRate 10/1h
LogWhy Yes
Syslog Yes
SyslogSuccess Yes
Mode sv
Canonicalization relaxed/simple
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
SignatureAlgorithm rsa-sha256
Socket inet:8891@localhost
PidFile /var/run/opendkim/opendkim.pid
UMask 022
UserID opendkim:opendkim
TemporaryDirectory /var/tmp
產生公開金鑰和私密金鑰
mydomain.com 替換成你的網域名稱
mkdir /etc/opendkim/keys/mydomain.com
opendkim-genkey -D /etc/opendkim/keys/mydomain.com/ -d mydomain.com -s default
chown -R opendkim: /etc/opendkim/keys/mydomain.com
mv /etc/opendkim/keys/mydomain.com/default.private /etc/opendkim/keys/mydomain.com/default
把mydomain.com添加到/etc/opendkim/KeyTable
default._domainkey.mydomain.com mydomain.com:default:/etc/opendkim/keys/mydomain.com/default
接下來修改/etc/opendkim/SigningTable並添加如下記錄
*@mydomain.com default._domainkey.mydomain.com
添加信任主機到/etc/opendkim/TrustedHosts:
127.0.0.1
mydomain.com
host.mydomain.com
確保你的網域名稱mydomain.com和伺服器名稱都是host.mydomain.com
最後給你的網域名稱添加一個TXT記錄,記錄在/etc/opendkim/keys/mydomain.com/default.txt
default._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDApHRr7ZmXRaAB+RQRbP4VdMwIrIHIP18KFtXRsv/xpWc0Gix6ZXN13fcG03KNGKZo2PY+csPkGC5quDnH5V0JEhDZ78KcDWFsU6u4fr9ktVAdt6P7jWXjcyqdHOZ8+YN4cAeU4lRFNgQvdupIcByYwzPYMgBFHfJm9014HvRqhwIDAQAB" ) ; ----- DKIM key default for mydomain.com
如果你沒有添加SPF記錄可以順便添加一下
mydomain.com. 14400 IN TXT "v=spf1 a mx ~all"
可以通過http://dkimcore.org/tools/來檢測記錄是否正確
配置postfix
為了把OpenDKIM和Postfix整合到一起需要修改/etc/postfix/main.cf:
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
milter_protocol = 2
重啟服務並設定為開機啟動
service opendkim start
chkconfig opendkim on
service postfix restart
測試
向 check-auth@verifier.port25.com 發送一封郵件,會收到自動回複
==========================================================
Summary of Results
==========================================================
SPF check: pass
DomainKeys check: neutral
DKIM check: pass
DKIM check: pass
反向解析rDNS
反向DNS尋找或者反向DNS解析(rDNS)用於判定一個網域名稱與給定IP是否互相關聯。有些公司例如AOL會拒絕沒有進行反向解析的發件伺服器發出的所有訊息,所以你必須確保你進行了反向解析。
這貨也是決定因素之一,一些國內的IDC是無法提供此服務的。但是如果你用的是阿里雲,只需要提交一個工單,提供你的IP和網域名稱要求設定反向解析就OK了