大幅增加邮件到达率,SPF和DKIM验证

企业在发送邮件的时候主要考量的因素是邮件打开率和邮件点击(响应)率。粗略地讲:

邮件打开率=邮件打开数÷邮件发送数

邮件点击率=邮件点击数÷邮件打开数

综合邮件效果=邮件打开率×邮件点击率

如果我们要更细地探究邮件的表现的话我们还要引进一个概念,那就是邮件到达率

邮件到达率=邮件到达数÷邮件发送数

这里的邮件到达是指邮件正常到达接收者收件箱的情况。如果邮件被接收者退回或者落入垃圾邮件箱则不视为一个成功的到达。我们要提高邮件的综合效果其中要通过的第一关考验就是邮件的到达。

目前各大邮件服务商的垃圾邮件防护措施都相当成熟,以Gmail为例,用户每天收到的垃圾邮件非常之少。要想提高邮件的到达率我们要通过以下办法——邮件签名验证。

主流的邮件验证有两种,其一是SPF验证,其二是DKIM验证。假如你使用的是MailChimp那样主流的第三方邮件营销工具,你会自动获得这些验证。如果你自主管理你的邮件,那需要手动进行这些部署。之前的博文介绍过非常酷的自定义邮件按钮在Gmail中的应用也要求这些验证,不然这些功能就无法实现。

电子邮件的SPF验证

电子邮件的SPF验证所保证的是邮件的发送服务器IP能够验证得到。邮件服务方可以记录并查阅某发送方的固定使用的邮件发送IP地址。换句话说,要想伪造发送方的邮件就相当困难。举例来说,Maxket发送的邮件都是从一台IP地址为123.123.123.123的服务器发送的,这个IP地址记录在了maxket.com的DNS中。一旦用户收到的邮件并非来自此IP地址,则不能通过SPF验证。

在Gmail中,SPF验证体现在mailed-by字段,如下图所示是一个来自Facebook Ads Team的签名邮件,点击可放大:

SPF验证显示在Mailed-by字段

SPF验证显示在Mailed-by字段

为邮件添加SPF验证

要为邮件添加SPF验证可以使用下列方法。

简单的方法:把下面的[domain]换成你的网站的域名,将[corpIP]换成邮件服务器的IP地址,[3rdpartyIP]换成第三方邮件服务器的IP地址,然后让网管同事更新到DNS域名解析服务器上。

[domain] IN TXT v=spf1 mx ip4:[corpIP] include:[3rdpartyIP] ~all

稍微复杂点的方法:去SPFWizard自定义设置你的SPF,你可以选择多个发送IP。配置完了复制结果给网管同事更新到DNS域名解析服务器上。

具体的参数可以参照OpenSPF

电子邮件的DKIM验证

DKIM验证是基于加密原理的。简单来讲,在你的DNS上有一把钥匙(Public Key)而你发出去的每一封邮件都带有一把锁(即签名),如果接收服务器可以用这把钥匙打开这把锁,则可以断定该邮件是发送者所发。然而这种方式可以被伪造的签名所破解,所以还不是一种百分百安全的方法(2013年起必须使用大于1024位的长签名)。需要结合上述SPF一同使用。下面是原理图:

DKIM基本原理

DKIM基本原理

在Gmail中,DKIM签名会显示为signed-by。如下图,可点击放大:

DKIM签名在Gmail中的显示

DKIM签名在Gmail中的显示

为邮件添加DKIM验证

不同的邮件发送服务方实际上对DKIM的验证有不同的部署方法。我们就拿Gmail举例来说。你可以阅读Gmail的支持文档获得详细方法。这里我们只说简要步骤:

  1. 去admin.google.com用你的Google App账号登陆进入后台,选择Google App→Gmail→Authenticate email。选择你的域名生成公钥。如下图,可点击放大。

    Gmail中DKIM设置界面

    Gmail中DKIM设置界面

  2. 按照生成的信息,去你的DNS添加一条TXT记录。
  3. 回到admin.google.com上次的页面点击“Start Authentication”。

这样你每次发送的邮件都会包含你的签名了!

结语

通过SPF和DKIM的部署相信你的邮件到达率会有大幅提升,邮件到达率实际上还和你邮件的内容和用户对你的邮件的反应相关。毕竟你可以轻松做到的别人也可以轻松做到。在邮件的设计和文案的选择上也要多花功夫啊。