跳到正文
网络寻租
返回

保证电子邮件的送达率

现在大多数网站都会发送各种各样的邮件,保证邮件送达率至关重要,这里整理一下我调研的一些结果。

要让邮件正常到达用户的收件箱,需要保证几点:

如何让收件方验证邮件来源是非伪造的

PTR

ptr是DNS记录的一种类型,有一个用途在于反方向从IP推导到域名,比如:

dig -x 203.208.36.17

把DNS的MX类型记录指向到你邮件服务器的地址一般就可以了。

SPF

SPF(Sender Policy Framework)这是一套电子邮件验证系统,通过在DNS记录中添加一个TXT类型的记录,指定谁有权以域名的名义发送邮件。如果你没有设置这条记录,很容易就被当做非法邮件spam掉。

这里是配置方法,以及一个简单的例子:

v=spf1 a mx ptr include:spf.mtasv.net ~all

这一行主要说明spf.mtasv.net(postmark,一个邮件发送服务商)代发的邮件是被认可的。

如果你域名挂靠在bluehost上面,这里是对应的设置方法。

设置完毕,等待生效后,可以通过这种方式验证是否设置成功:

dig txt your-domain.com

返回的信息需要带有你设置的SPF记录。

DKIM

邮件本身是纯文本,协议也没有防止伪造的部分,在发送的过程中很容易被篡改, DKIM(DomainKeys Identified Mail) 对邮件用私钥加密,同时公钥信息放在域名DNS上面,这样收件方就可以验证邮件的真实性。

如果你用ubuntu以及postfix,这里是设置教程,以及一个简略的安装过程整理:

原理很简单,运行opendkim进程服务器,然后postfix把它当做一个过滤器来用,设置完成之后,对于所有的邮件,都会加上一个DKIM-Signature,一个具体的例子:

DKIM-Signature: v=1; a=rsa-sha256; d=example.net; s=brisbane;
c=relaxed/simple; q=dns/txt; l=1234; t=1117574938; x=1118006938;
h=from:to:subject:date:keywords:keywords;
bh=MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=;
b=dzdVyOfAKCdLXdJOc9G2q8LoXSlEniSbav+yuU4zGeeruD00lszZVoG4ZHRNiYzR

一些参数的含义:

然后接收方就会去检查brisbane._domainkey.example.net的DNS记录,你可以通过这种方式来查看是否它设置正确:

dig txt brisbane._domainkey.example.net

内容格式是k=rsa\; p=MIGfMA0GCSqGSIb3DQEBA...。

检查是否设置成功

发送一封邮件到gmail里面,这样检查信息:

出现mailed-by表示你SPF设置正确了,出现signed-by表示你DKIM设置正确了。

让收件方认可发送者是可靠的

上面是一些技术上面的部分,同时还需要在内容上面以及行为上面让收件方认可你:

第三方的服务

设置了上面的这些东西,你的邮件还是有可能被spam,以及你也不清楚到底邮件的到达率有多少,我建议针对商业的网站,还是需要采用一些第三方的邮件发送服务。这里推荐几个:

采用了这些第三方服务之后,你需要对应地更新SPF和DKIM。 同时如果可能,尽量选择独立IP的服务,这样不会因为其他人发spam影响到你的邮件送达率。

mailgun和postmark都会想办法保证你的邮件送达, 因此价格也比其他的邮件服务商要贵,但是还是物有所值的。

mailgun带有campaign服务, 你可以设置一个campaign,然后发送带有这个campaign ID的邮件,之后会统计出送达率,开启率,链接点击率等信息给你。

还有就是针对国内垃圾邮件乱飞的状况,很多国内的邮箱服务商会比较严格,造成国外的第三方邮件发送服务不好用的状况,比如:

需要注意一下。

引用资料以及工具


分享这篇文章:

上一篇
命令行下使用全局代理
下一篇
如何写邮件样式

评论

评论通过 GitHub 账号发布,需要先使用 GitHub 登录。