你可以到 http://www.mail-tester.com/ 检测你的邮件分数, 满分才合格哦!
很多朋友邮件发到 QQ 邮箱都进垃圾箱,或者干脆收不到,如何让你的邮件准确到达收件箱呢?
需要做到以下几点
- SPF 记录 (重要)
- DKIM 签名
- IP 地址反向解析
- 邮件内容不要含有特殊字符以及明显的广告内容
SPF 记录的设置
向你的邮件域名添加一条 TXT 记录
v=spf1 ip4:发信服务器的IP ~all
详见 https://www.php3.cn/a/202.html
反向解析 (PTR)
请联系你的机房,或 云服务商,国内目前仅阿里云可以联系客服进行免费设置,国外一般 VPS 的控制面板就可以。
DKIM 签名
安装
yum install opendkim
修改 opendkim 配置文件
vi /etc/opendkim.conf
如下内容
Canonicalization relaxed/relaxed ExternalIgnoreList refile:/etc/opendkim/TrustedHosts InternalHosts refile:/etc/opendkim/TrustedHosts KeyTable refile:/etc/opendkim/KeyTable LogWhy Yes MinimumKeyBits 1024 Mode sv PidFile /var/run/opendkim/opendkim.pid SigningTable refile:/etc/opendkim/SigningTable Socket inet:8891@127.0.0.1 Syslog Yes SyslogSuccess Yes TemporaryDirectory /var/tmp UMask 022 UserID opendkim:opendkim
创建密钥
mkdir /etc/opendkim/keys/YourDomain.com opendkim-genkey -D /etc/opendkim/keys/YourDomain.com/ -d YourDomain.com -s default
创建完毕后,将其添加到 /etc/opendkim/KeyTable 中
default._domainkey.YourDomain.com YourDomain.com:default:/etc/opendkim/keys/YourDomain.com/default.private
然后添加 /etc/opendkim/SigningTable
*@YourDomain.com default._domainkey.YourDomain.com
设置允许进行签名的主机 到 /etc/opendkim/TrustedHosts 中,一般情况下都是本机发信,我们将 127.0.0.1 加入即可。
chown opendkim:opendkim keys -R 将keys文件夹所有者改为opendkim(若不改发送邮件会显示没有权限)
设置 DNS 记录
到 /etc/opendkim/keys/YourDomain.com/default.txt 可以找到你的 key 。
记录类型 TXT 子域名 default._domainkey ,记录内容就是 default.txt 里面从 v=DKIM1 开始的内容。
此时 DKIM 签名软件已经可以正常工作了,接下来就要让 Postfix 所发的邮件经过其处理
编辑 Postfix 配置
打开 Postfix 的 main.cf 配置文件,到达底部,添加如下内容
smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = inet:127.0.0.1:8891 milter_protocol = 2 milter_default_action = accept
启动邮件服务器
service opendkim start #正常返回应为 Starting OpenDKIM Milter: [ OK ] service postfix reload
如果没有错误的话,现在应该可以开始发送了