Php

如何在專用伺服器上發送(合法)來自不同域的電子郵件?

  • January 28, 2016

我們需要使用 PHP 的 mail() 函式(實際上是包含該函式的 CakePHP)直接從我們的專用伺服器(app.ourserver.com)發送電子郵件。我們想從 app.ourserver.com 發送郵件,但需要將其作為 mail.domain1.com 和 mail.domain2.com 發送。我們不想使用 STMP,因為它連接速度很慢,尤其是連接到我們的外部郵件伺服器(mail.domain1.com 和 mail.domain2.com)。我嘗試將正確的 SPF 記錄添加到兩個域 domain1.com 和 domain2.com,以允許 ourserver.com 發送電子郵件,但電子郵件在接收端立即被丟棄為垃圾郵件。如果不在我們的外部域上使用經過身份驗證的 SMTP 帳戶,我們將如何執行此操作?

我認為你的標題不正確。應該是“我如何從另一個域發送電子郵件?” 或類似的東西。

您被歸類為垃圾郵件的原因有很多:

  • rDNS 驗證不適用於 IP 地址 (PTR -> A -> PTR)。
  • rDNS 驗證不適用於您在 HELO 或 EHLO 命令中使用的名稱。
  • 您的伺服器上的埠 25 上沒有任何響應。您可能需要設置本地郵件伺服器,但我不建議您這樣做。
  • 您被列入黑名單(檢查您的 IP 和域)。
  • SPF 失敗。
  • DMARC 失敗。

如果您查看被歸類為垃圾郵件的郵件的標題,很可能會有標題告訴您為什麼它被歸類為垃圾郵件。

您的首選應該是使用允許為您的域發送郵件的中繼伺服器。連接到送出埠(可能需要身份驗證)應該很快。您發現連接到域的郵件伺服器非常慢的事實可能表明您正在那裡觸發垃圾郵件避免規則。(我的規則為配置不佳的主機提供慢速服務,向配置良好的主機提供快速服務。這會丟棄大量垃圾郵件。)

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