Windows-Server-2008

如何通過 Exchange 從 Web 伺服器向外部域發送電子郵件?

  • November 7, 2017

我們有一個通過 PHPMailer 發送電子郵件的網路伺服器,這在向域上的電子郵件地址發送電子郵件時可以正常工作。但是,當向域外的地址發送電子郵件時,它會失敗並出現以下錯誤:

“SMTP 錯誤:以下收件人失敗:example@otherdomain.com”

我已經嘗試為 Web 伺服器的 IP 地址設置一個接收連接器並將其打開給匿名使用者等,但它仍然顯示相同的錯誤。這是 Windows Server 2008。

任何幫助將不勝感激。

我通過在我的 PHP 程式碼中註釋掉 TLS 行來讓它工作:

//$mail->SMTPSecure = 'tls';

從技術上講,可以授予任何第 3 方解決方案通過您的 Exchange 伺服器中繼電子郵件的權利(是一個非常古老但仍然有效的文件)。然後,Exchange 伺服器應該按照現有 Exchange 使用者的方式將電子郵件發送到 Internet。

但是,多點可能會阻止:

  • 來自您的第 3 方解決方案的發件人電子郵件不正常
  • 第 3 方環境不在 Exchange 伺服器的白名單中
  • 您的 Exchange Server 和您的第 3 方解決方案之間所需的埠未打開
  • 您的配置需要 TLS 連接(例如 startTLS),但 SSL 證書在 3rd 方解決方案上不受信任(如果您希望排除故障,可以查看以下操作方法

解決此問題的最佳選擇是在第 3 方解決方案上打開 telnet 會話並連接到您的交換伺服器(如果需要範例,請參見此處)。然後嘗試通過 telnet 發送電子郵件。根據 telnet 測試,您將收到一條 SMTP 指定的錯誤消息,您應該將其添加到您的文章中,以便我們可以接收。

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