2010-12-06 81 views
4

我試圖使用Swift_SmtpTransport發送電子郵件,但我發現了以下錯誤:Swiftmailer SMTP傳輸拒絕本地IP地址

501 5.5.2 < [:: 1]>:HELO命令拒絕:無效的IP地址

SMTP服務器是遠程服務器,它從我的生產服務器的作品,而不是從我的機器,這是運行OS X.

它也不會刻意去拋出異常,相反,它需要我使用記錄器插件來查明它爲什麼不起作用。

如何才能使用真實的IP地址?

回答

4

我在代碼中找到了一些東西,並發現它。

配置SMTP傳輸時,需要調用setLocalDomain()。在OS X上使用PHP時,默認爲「:: 1」,遠程服務器會拒絕它。我剛添加了一行在我的開發配置來設置:

$transport = Swift_SmtpTransport::newInstance('mail.pantsburger.com', 587); 
if (SITE_ENV == SITE_ENV_DEV) { 
    $transport->setLocalDomain('[127.0.0.1]'); 
} 

我想這也是與Swiftmailer錯誤 - 它確實應該拋出一個異常,這樣的事情,而不是僅僅列出每個收件人作爲「失敗」。