邮件服务器添加SPF、DKIM、DMARC、PTR提高送达率

发布时间:2024-05-30 点击:47
之前写过linux系统下邮件服务器的搭建(postfix dovecot),但是这样发送出去的邮件多半是被当垃圾邮件处理了,所以我们还需要进行一些配置,来启用身份验证。
1.spfspf 记录是一种域名服务 (dns) 记录,可确定允许哪些邮件服务器代表您的域来发送电子邮件。
spf的设置选项可以参考:http://www.openspf.org/spfrecordsyntax
这里说几个常用的:
a:所有该域名的a记录都为通过,a不指定的情况下为当前域名ip4:指定通过的ipmx:mx记录域名的a记录ip可以发邮件all:结束标志,“-”表示只允许设置的记录为通过,“~”表示失败,通常用于测试,“ ”表示忽略spf例如我的:v=spf1 a mx -all,则表示允许a记录和mx记录ip收发邮件。添加的方法是在域名dns解析设置一个txt记录,主机记录为空或者@,记录值为v=spf1 a mx -all,其他可以忽略。
2.dkimdomainkeys identified mail的缩写,域名密钥识别邮件标准。
下载安装epel:
64 bit:
rpm -uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm32 bit:
rpm -uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm安装opendkim:
yum install opendkim生成dkim key (修改红色部分域名)
# 请替换下面的域名export domain=nbhao.orgmkdir /etc/opendkim/keys/$domaincd /etc/opendkim/keys/$domainopendkim-genkey -d $domain -s defaultchown -r opendkim:opendkim /etc/opendkim/keys/$domainecho \default._domainkey.$domain $domain:default:/etc/opendkim/keys/$domain/default.private\ >> /etc/opendkim/keytableecho \*@$domain default._domainkey.$domain\ >> /etc/opendkim/signingtable生成之后打开/etc/opendkim/keys/domain.com/default.txt,里面就是dkim key,需要添加到dns,主机记录为default._domainkey,记录值为括号里面的(去掉引号)。
修改opendkim设置
vi /etc/opendkim.conf1. 将mode?改为?mode sv?2. 将domain?改为?domain nbhao.org(nbhao.org是之前设置的域名) 3. 将所有变量前面的#去掉,但是keyfile、statistics加上#?4. 再把signingtable /etc/opendkim/signingtable改成signingtable refile:/etc/opendkim/signingtable
设置postfix
vi /etc/postfix/main.cf加上下面幾行# opendkim setupsmtpd_milters = inet:127.0.0.1:8891non_smtpd_milters = inet:127.0.0.1:8891milter_default_action = accept重启服务
service opendkim restartservice postfix restartchkconfig opendkim onps: 第一次启动如果出现 generating default dkim keys: hostname: unknown host 可以在 /etc/hosts 上面加上域名,例如:
127.0.0.1 nbhao.org localhost localhost.localdomain localhost4 localhost4.localdomain4
3.dmarcdmarc协议是有效解决信头from伪造而诞生的一种新的邮件来源验证手段,为邮件发件人地址提供强大保护,并在邮件收发双方之间建立起一个数据反馈机制。
具体信息可以看这里:http://dmarc.org/overview/。
dmarc记录中常用的参数解释
p:用于告知收件方,当检测到某邮件存在伪造我(发件人)的情况,收件方要做出什么处理,处理方式从轻到重依次为:none为不作任何处理;quarantine为将邮件标记为垃圾邮件;reject为拒绝该邮件。初期建议设置为none。
rua:用于在收件方检测后,将一段时间的汇总报告,发送到哪个邮箱地址。
ruf:用于当检测到伪造邮件时,收件方须将该伪造信息的报告发送到哪个邮箱地址。
例如我设置的是v=dmarc1;p=reject;rua=me@nbhao.org,意思是拒绝伪造邮件,并且将一段时间的汇总报告发送给我。
添加到dns
添加txt记录,主机名:_dmarc,记录值:v=dmarc1;p=reject;rua=me@nbhao.org
4.ptrptr记录,是电子邮件系统中的邮件交换记录的一种;另一种邮件交换记录是a记录(在ipv4协议中)或aaaa记录(在ipv6协议中)。ptr记录常被用于反向地址解析。
ptr记录也就是ip反向解析,我们常见的解析都是将域名a记录解析到ip,ptr则是将ip反向解析到对应的域名,通过设置ptr可以提高发信方的信誉,从而提高到达率。
ptr设置
通过观察,一般国外的vps都会直接将购买的时候的hostname设置为ptr记录值,但是我买的阿里云的并没有,所以这个需要提交售后工单要求客服帮你添加的,添加的值为安装postfix的时候设置的myhostname,例如我的是mail.nbhao.org。
添加好了以后可以通过以下命令查看
dig -x ip如果看到了ptr记录为你的域名那就说明成功了。
到这里,基本上只要不发垃圾邮件,邮件的到达率应该就没啥问题了。
这里给大家推荐一个测试工具:http://www.mail-tester.com/,只要给页面上的邮箱随便发一封邮件,然后点击按钮提交就可以看到测试结果,里面会有一些优化建议,非常好用。
原文链接:http://lomu.me/post/spf-dkim-dmarc-ptr


主机访问不了-虚拟主机/数据库问题
一猫汽车网获4亿元融资 回归线下才是正确的做法
亚马逊紫鸟和云服务器哪个好
全能视频播放器有哪些 强大的全能视频播放器推荐合集
华为云速建站含服务器吗
近期访问极慢请您帮忙寻找问题
用云服务器挂程序
腾讯云学生服务器系统选哪个好