大幅增加郵件到達率,SPF和DKIM驗證

Photo of author
Written By CMO

企業在發送郵件的時候主要考量的因素是郵件打開率和郵件點擊(響應)率。粗略地講:

郵件打開率=郵件打開數÷郵件發送數

郵件點擊率=郵件點擊數÷郵件打開數

綜合郵件效果=郵件打開率×郵件點擊率

如果我們要更細地探究郵件的表現的話我們還要引進一個概念,那就是郵件到達率

郵件到達率=郵件到達數÷郵件發送數

這裡的郵件到達是指郵件正常到達接收者收件箱的情況。如果郵件被接收者退回或者落入垃圾郵件箱則不視為一個成功的到達。我們要提高郵件的綜合效果其中要通過的第一關考驗就是郵件的到達。

目前各大郵件服務商的垃圾郵件防護措施都相當成熟,以Gmail為例,用戶每天收到的垃圾郵件非常之少。要想提高郵件的到達率我們要通過以下辦法——郵件簽名驗證。

主流的郵件驗證有兩種,其一是SPF驗證,其二是DKIM驗證。假如你使用的是MailChimp那樣主流的第三方郵件行銷工具,你會自動獲得這些驗證。如果你自主管理你的郵件,那需要手動進行這些部署。之前的博文介紹過非常酷的自定義郵件按鈕在Gmail中的應用也要求這些驗證,不然這些功能就無法實現。

電子郵件的SPF驗證

電子郵件的SPF驗證所保證的是郵件的發送服務器IP能夠驗證得到。郵件服務方可以記錄並查閱某發送方的固定使用的郵件發送IP地址。換句話說,要想偽造發送方的郵件就相當困難。舉例來說,Maxket發送的郵件都是從一台IP地址為123.123.123.123的服務器發送的,這個IP地址記錄在了hubspot.one的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的部署相信你的郵件到達率會有大幅提升,郵件到達率實際上還和你郵件的內容和用戶對你的郵件的反應相關。畢竟你可以輕鬆做到的別人也可以輕鬆做到。在郵件的設計和文案的選擇上也要多花功夫啊。