Email

如何配置我的域和 Web 應用程序,以便從後者發送的電子郵件不會被阻止為垃圾郵件?

  • December 21, 2011

我有一個需要向電子郵件地址發送通知的 WordPress 網站。我希望這封電子郵件中的 from 欄位是我客戶域上的地址。

我對電子郵件安全和反垃圾郵件系統了解不多,但我想我們需要對我的客戶的域做一些進一步的配置,這樣它就不會被歸類為垃圾郵件,對嗎?

到目前為止,我已經做了一些測試,沒有對客戶端的域應用任何配置,我們公司的 Exchange 伺服器阻止了它,但 gmail 接受了它,甚至沒有將其歸類為垃圾郵件。我真的不明白 gmail 如何接受它:按照這個邏輯,我可以從我在網站配置中使用的任何地址發送電子郵件,Gmail 會認為它安全嗎?

所以我希望有人向我解釋這是如何工作的,以及這種情況下的正確配置是什麼。

您需要從基本了解電子郵件的發送/接收方式開始。我將向您介紹典型的公司電子郵件是如何發送並最終以盡可能多的(相關)細節到達其目的地的。例如,我將解釋在何處使用 DNS 查詢,但不會討論 DNS 如何工作的複雜性以及如果主 DNS 伺服器沒有響應會發生什麼等,以便保持話題。
跳到步驟 9 了解反垃圾郵件的詳細資訊。

為了盡可能創建最相關的資訊,我會盡量避免使用任何特定的應用程序來保持通用性。

  1. 坐在公司網路中的 PC 上的使用者將來自 wiley@acme.com 的電子郵件鍵入到他們的郵件客戶端到 bob@contoso.com,然後點擊“發送”。

  2. 郵件客戶端將嘗試將郵件發送到預先配置的郵件伺服器。大多數情況下,郵件伺服器配置有 DNS 名稱。

  3. PC 在其 DNS 記憶體中查找郵件伺服器。如果 IP 不在記憶體中,PC 會向其主 DNS 伺服器發送 DNS 查詢以獲取郵件伺服器的 IP 地址。

  4. 既然PC已經有了郵件伺服器的IP,它就會開始考慮與它建立連接。因此,它會查看其 IP 地址和子網遮罩,以查看它是否與郵件伺服器位於同一子網中。如果不是,它會檢查其本地路由表(Windows 上的“路由列印”)以查看是否有到郵件伺服器的特定路由。如果沒有,它會將數據包發送到其預設網關。(順便說一下,為了聯繫第 3 步中的 DNS 伺服器,它也遵循了相同的過程)

  5. PC 現在知道將數據包發送到哪裡,因此它會創建到郵件伺服器的新連接並將電子郵件發送到預設網關,預設網關將其路由到郵件伺服器。

  6. 郵件伺服器現在有傳遞消息的任務。伺服器可能會自行發送郵件,但更有可能的是,它會將 Internet 綁定的電子郵件轉發到另一台設備,該設備將根據安全策略檢查郵件是否有病毒、垃圾郵件、數據失去防護、大小、內容等內容,它可能會在郵件中添加免責聲明留言等

  7. 根據策略檢查 ok 後,需要傳遞消息。發送消息的伺服器知道目標是 bob@contoso.com,但它需要知道需要發送消息的伺服器的 IP 地址。它使用根提示執行 DNS 查詢以獲取 .com DNS 伺服器的列表。根提示伺服器處於 Internet 上 DNS 層次結構的最高級別。根提示伺服器知道哪些伺服器處理 .com、.net、.org、.etc。然後這些伺服器知道誰在處理 hotmail.com、google.com 等等。回到任務,公司 DNS 伺服器現在有一個 .com DNS 伺服器列表。然後,它向 .com DNS 伺服器發送另一個查詢以查找 contoso.com,並獲得 Contoso 的公共 DNS 伺服器的響應。現在將第三個 DNS 查詢發送到 Contoso’ s 公共 DNS 伺服器請求 contoso.com 域的 MX(郵件交換器)記錄。contoso.com DNS 伺服器使用這些記錄和分配的任何首選項進行響應。最後,公司 DNS 伺服器使用 contoso.com 郵件伺服器的 IP 地址回复郵件伺服器。呸!

  8. acme.com 的郵件伺服器選擇優先級最低的 MX 記錄,並打開到該伺服器上 TCP 埠 25 的連接。必須允許此連接通過 acme 和 contoso 的防火牆。

  9. 根據 contoso 使用的反垃圾郵件設備的類型,現在甚至可以在發送郵件之前進行多項檢查。Contoso 的反垃圾郵件設備可以根據 senderbase、spamhaus 等數據庫檢查發送郵件的 IP 地址(Acme 的公共 IP)的信譽,以查看它是否是已知的垃圾郵件發送者。如果匹配,反垃圾郵件設備很可能會終止連接。所有這些檢查背後的想法是驗證發件人不是垃圾郵件發送者,並且郵件確實來自實際發件人,而不是被欺騙(偽造)。因此,如果到目前為止連接正常,acme 將向 contoso 發送一個帶有問候語的 helo,該問候語將自己標識為 mail1.acme.com。然後,Contoso 可能會執行反向問候和反向 DNS 檢查。在反向問候檢查中(hotmail 會這樣做),contoso 將執行其自己的 DNS 查詢以查找 mail1.acme.com 並將打開與該伺服器的連接。然後它將從這個已知正確的伺服器接收到的問候語與它之前收到的問候語進行比較,因為發送框聲稱是 mail1.acme.com。如果問候語不匹配,郵件可能會被拒絕、限制,並且您的發件人基礎分數將下降。接下來,執行反向 DNS 檢查。acme.com 的郵件伺服器對剛剛與之建立連接的 IP 地址執行 DNS 查找。反向 DNS 由 Internet 服務提供商為給定的 IP 地址塊維護。反向 IP 應解析為郵件伺服器的名稱,即 mail1.acme.com。如果反向 dns 不匹配,郵件可能會被拒絕、限制,並且您的發件人基礎分數將下降。最後,接收域可能會執行 SPF 記錄檢查。SPF 記錄列出了被授權為給定域發送郵件的伺服器的名稱和 IP。因此,如果 acme.com 擔心有人從他們那裡偽造郵件,他們會將 SPF 記錄添加到他們自己的 DNS 中,列出他們自己的郵件伺服器。如果其他人嘗試從 SPF 記錄中未列出的 IP 從 acme.com 發送郵件,contoso 將拒絕該郵件。

  10. 假設 acme.com 已正確設置所有內容並且所有內容都已檢查,contoso 上的伺服器將響應 220 或“繼續”。acme 的郵件伺服器現在發送收件人資訊。在繼續之前,contoso 的接收郵件伺服器將查找收件人以驗證他/她是否存在。如果不是,則連接結束。

  11. 發送發送方資訊,再次與發送域進行比較,以確保沒有發生切換。

  12. 接下來,由 contoso 的反垃圾郵件產品評估大小和內容,對郵件進行病毒掃描等,最後傳遞到 contoso 的郵件伺服器和收件人的收件箱。

你所要做的就是點擊“發送”!:-)

來源

引用自:https://serverfault.com/questions/343061