通過 SPF 和 DKIM 進行電子郵件身份驗證

通過 SPF 和 DKIM 進行電子郵件身份驗證

又來了! 又是縮寫詞,又是要知道的事情,又是書呆子信息! 嗯,不,它們是一個嚴重的問題,您的電子郵件的正確發送取決於這些縮寫詞。 根據個人經驗,我們知道這些首字母縮略詞可能聽起來陌生、令人恐懼,而且看起來完全無趣。 或者也許它們聽起來很熟悉,但你從來沒有足夠關心去檢查它們到底是什麼。 讓我們嘗試做一些 對於非技術人員來說清晰易懂。

無論哪種方式,如果您想更好地控制電子郵件的傳遞,那麼是時候了解一下 SPF 和 DKIM 是什麼以及如何在郵件服務器的 DNS 記錄中設置它們。 我會盡力用簡單的語言來解釋它,這不僅是程序員能夠理解的。

什麼是SPF? SPF如何發揮作用?

簡而言之,發件人策略框架 (SPF) 是一種安全機制,旨在防止壞人代表您發送電子郵件。 該機制涉及 DNS 服務器之間的通信……這就是一切開始看起來可怕的地方! 但不要驚慌。 我會盡量保持簡單。

假設您向鮑勃發送了一封電子郵件。 但是 Bob 的 DNS 服務器如何知道電子郵件實際上是您發送的呢? 問題是,他其實並不知道。 除非您在 DNS 服務器上設置了 SPF。 哦,好吧,我們必須解釋什麼是 DNS 服務器,但讓我們跳過它,否則你會把我送進地獄!

SPF 定義哪些 IP 地址可用於從您的域發送電子郵件。 因此,讓我們想像一下服務器之間兩種可能的“對話”。 為了方便起見,我們假設您的名字是保羅。

情況 1 – 您尚未設置 SPF。

邁克的服務器:嘿,鮑勃的服務器。 我有一條來自邁克的新消息。
鮑勃的服務器:邁克的服務器您好。 你的防曬指數是多少?
邁克的服務員:是的,關於防曬指數……誰在乎呢,真的。 我一個也沒有。 相信我,這是邁克發來的。
Bob 的服務器:如果您沒有 SPF,我無法確定 Mike 發送了它。 給我邁克允許的 IP,以便我可以將它們與你的進行比較。
Mike的服務器:我沒有Mike的IP白名單。
鮑勃的服務員:那我就不需要你的消息了。 交貨被拒絕。 不好意思,朋友…

場景 2 – 您已設置 SPF。

邁克的服務器:嘿,鮑勃的服務器。 我有一條來自邁克的新消息。
鮑勃的服務器:邁克的服務器您好。 你的防曬指數是多少?
邁克的服務器:這是我的 SPF。 Mike 本人已聲明有一整套 IP 可以代表他使用。
Bob 的服務器:好的,讓我看看……您給我的消息是從 IP 64.233.160.19 發送的。 好的,它在名單上。 一切看起來都很好。 把消息給我,我給鮑勃看。 謝謝你!

對於這種過度簡化,我向所有系統讀者表示歉意,我知道您在發抖,但請原諒我,並記住我們羨慕您的技術知識,但我必須與非技術受眾交談,我必須簡化。

無論如何,這兩個簡短對話的寓意是:設置你的 SPF。 如果不這樣做,您可能看起來像個壞孩子,而且並非所有電子郵件都會送達。

您的 SPF 中應該包含哪些應用程序?

總的想法是確保代表您發送電子郵件(並且使用​​其 SMTP,而不是您的 SMTP)的任何應用程序都包含在您的 SPF 中。 例如,如果您使用 Google Apps 從您的域發送電子郵件,則應將 Google 添加到您的 SPF 中。 以下是 Google 有關如何操作的說明。

但重要的是要確保 Google 不是唯一在您的 SPF 中擁有權限的應用程序。 例如,如果我們使用 HelpScout 來管理我們的支持電子郵件,並使用 MailChimp 來發送我們的新聞通訊,那麼我們會將兩者都包含在 SPF 中。

我的 SPF 中還應該包含啄木鳥嗎?

不。正如我所說,您應該記住將代表您發送電子郵件但使用其自己的 SMTP 的應用程序放入您的 SPF 記錄中。 Woodpecker 使用您自己的 SMTP 發送電子郵件,因此它更像是一個在線電子郵件客戶端,而不是群發電子郵件應用程序。

也就是說,從 Woodpecker 發送的電子郵件的送達率取決於您的域的聲譽。 設置 SPF 和 DKIM 將幫助您保護域的良好聲譽,從而提高電子郵件的送達率。

如何一步步在你的服務器上設置SPF記錄?

第一步是檢查您當前的 SPF 記錄。 您可以使用以下工具來完成此操作:

當您輸入您的域名時(例如我會輸入 woodpecker.co),這些工具將運行一些測試並顯示您當前的 SPF,或尚未設置的通知。

什麼是下一個步驟?

根據您的域名託管服務商,步驟會有所不同。 基本上,只需將結構正確的文本行粘貼到控制台中的正確位置即可。 例如,如果您使用 Google Apps 從您的域發送所有電子郵件,則該行應如下所示:

“v=spf1 包括:_spf.google.com ~全部”

記錄的“v=spf1”部分稱為版本,其後的部分稱為機制。

現在讓我們看看每個部分到底意味著什麼。

  • v=SPF1 該元素將記錄標識為 SPF
  • 包括:_spf.google.com 該機制包括作為授權服務器的郵件服務器
  • 〜v=spf1 此元素表示,如果從未經授權的服務器(未在“include:”機制中列出)收到電子郵件,則該電子郵件將被標記為軟失敗,這意味著該電子郵件可以通過,但可能會被標記為垃圾郵件或可疑郵件。

但是,如果您使用的應用程序比這更多(例如,發送新聞通訊的應用程序、發送支持消息的應用程序等),則該行會更長一些,因為您需要在其中包含所有其他應用程序。 或者,如果您不使用 Google Apps,而是使用其他主機(例如 GoDaddy)的服務器,則線路會有所不同。

以下是為最常見的域名主機設置 SPF 的方法:

什麼是 DKIM?

創建域名密鑰識別郵件 (DKIM) 標準的原因與 SPF 相同:防止壞人冒充您作為電子郵件發件人。 這是一種進一步簽署電子郵件的方法,允許收件人的服務器檢查發件人是否是您。

通過在 DNS 服務器上設置 DKIM,您可以添加另一種方法來告訴收件人“是的,這確實是我發送的消息”。

如何設置 dkim 和 spf

整個想法基於對消息標頭中附加簽名的加密和解密。 為了實現這一點,您需要有兩個密鑰:

  • 私鑰(對於您的域來說是唯一的,並且僅供您使用。它允許您加密消息標頭中的簽名)。
  • 公鑰(您使用 DKIM 標準將其添加到 DNS 記錄中,以允許收件人的服務器檢索它並解密隱藏在郵件標頭中的簽名)。

以《權力的遊戲》為例,了解 DKIM 的大局。 奈德·史塔克派一隻烏鴉向勞勃國王傳達信息。 每個人都可以拿一張紙,寫下一條信息並在上面簽名,奈德·史塔克。 但有一種方法可以驗證消息的真實性——印章。 現在,每個人都知道內德的徽章是 冰原狼 (這是公鑰)。 但只有Ned擁有原始印章並可以將其放在他的消息上(這是私鑰)。設置DKIM只是將公鑰信息放入您的服務器記錄中。 它只是一個需要放在正確位置的 txt 記錄。

設置完成後,每次有人收到您發送的電子郵件時,收件人的服務器都會嘗試使用公鑰解密您的隱藏簽名。 如果成功,這將進一步驗證您的消息,從而提高您所有電子郵件的權威性。

如何逐步在您的服務器上設置 DKIM 記錄?

首先,您需要生成公鑰。 為此,您需要登錄電子郵件提供商的管理控制台。 接下來的步驟可能會有所不同,具體取決於您的電子郵件提供商。

如果您使用 Google Apps 發送電子郵件,請參閱以下內容 說明 一步步。 對於 Google Apps 用戶,您應該知道 DKIM 簽名默認處於關閉狀態,因此您必須在 Google 管理控制台中手動將其打開。

獲得公鑰後,獲取生成的 txt 記錄並將其粘貼到 DNS 記錄中的正確位置。

最後,您需要啟用電子郵件簽名才能開始發送帶有使用您的私鑰加密的簽名的電子郵件。 就是這樣,如果您使用 Google Apps 發送電子郵件。

設置 SPF 和 DKIM 並提高您的送達率

如果您發送大量電子郵件,無論是為了營銷還是為了傳入或傳出銷售,您的域名聲譽都至關重要,您應該注意它。 您不希望您的域名被列入黑名單並且您的電子郵件成為垃圾郵件。 在 DNS 服務器上正確設置 SPF 和 DKIM 記錄是確保域安全和郵件高送達率的必要步驟。

設置它們可能看起來很複雜,但無疑是值得的。 如果我是您,我會轉到我的帳戶並檢查我的 SPF 和 DKIM 目前設置是否正確,或者請我的 IT 人員進行設置。 如果答案是否定的,我會請他們幫助我。