如果评论者用的QQ邮箱,很可能在垃圾箱里找不到,只能自助查询里找一找。这种情况发生的原因大多是因为你服务器发的邮件被标记为SPAM。使用这个网站可以查看你服务器的发件分数http://www.mail-tester.com/,我的现在是10分,也就是没有特殊情况都不会被拦截。
上篇文章介绍了Postfix 的安装方法,本文锦上添花,在基础上添加DKIM证书
DKIM(DomainKeys Identified Mail)是一种电子邮件的验证技术,使用密码学的基础提供了签名与验证的功能。嗯,你只需要知道这货能增加你邮件的信任度就可以了。
配置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
如果是centos7 则使用以下命令
systemctl start opendkim.service systemctl enable opendkim.service systemctl restart postfix.service
测试
向 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了。
纯技术文,因为赶脚我一点也看不懂
veli veli good~