2012-10-21 119 views
0

當我嘗試從我的phpmailer類發送電子郵件時,它返回true,但在Directadmin郵件日誌中它記錄了TimeOut。無法發送電子郵件到某些服務器

2012年10月21日14時22分14秒1TPsca-0000t7-VJ gmail-smtp-in.l.google.com [2A00:1450:4013:C01 :: 1A]連接超時

2012-10-21 14:22:14 1TPsca-0000t7-Vj => [Email] F = < [Email]> R = lookuphost T = remote_smtp S = 3286 H = gmail-smtp-in.l。 google.com [74.125.136.26] X = TLSv1:RC4-SHA:128 C =「250 2.0.0 OK 1350822120 f43si4569491eem.30」

2012-10-21 14:22:14 1TPsca-0000t7-Vj已完成

但電子郵件不發送。

我該如何解決這個問題?

謝謝! Wouter0100

+0

您需要本地化問題 - PHP是否無法使用本地郵件守護進程(postfix?)排隊郵件,或者它試圖自己發送郵件(使用套接字?)並失敗?或者也許本地郵件服務器接受消息,然後無法發送它?我懷疑這是後者,但要追查問題,請嘗試從命令行發送電子郵件。另外,請檢查phpmailer操作系統如何配置爲實際發送電子郵件。一旦我們知道問題出在哪裏,我們可以開始診斷它 – Basic

回答

1

連接超時意味着無法再訪問郵件服務器。如果郵件服務器與您的Web服務器不同(即不是本地主機),我會檢查您的託管服務提供商是否啓用某種防火牆,阻止SMTP端口上的連接

您收到的錯誤意味着連接失敗:SMTP.Connect()。

通常,這意味着端口錯誤,服務器沒有啓動,或者您沒有連接。

在這種情況下,您沒有連接性,很可能是因爲您的ISP阻止連接到該遠程端口。

嘗試從您的託管網站服務器發送電子郵件。

即使您可以連接,您的代碼也不會按原樣工作。 Google SMTP服務器上的端口465需要安全(SSL)連接。你仍然需要實現它。

如果我正確記得,Gmail的SMTP服務器需要SSL。 試試這個

$this->Email->smtpOptions = array(
'port'=>'465', 
'timeout'=>'30', 
'host' => 'ssl://smtp.gmail.com', 
'username'=>'[email protected]', 
'password'=>'your_gmail_password', 
); 

也 讀support.google.com/mail/bin/answer.py?hl=en&answer=13287 - SSL必須用來使用Gmail的SMTP服務器。 Quote:「如果您的客戶端不支持SMTP4身份驗證,您將無法使用Gmail地址通過客戶端發送郵件。」

+0

這是一個問題,它是我自己的服務器。和本地主機.. – Wouter0100

+0

謝謝!這工作。 – Wouter0100

相關問題