2011-03-06 97 views
1

我知道有關於此主題的大量問題,但仍無法弄清楚發生了什麼問題。CakePHP SMTP連接超時

這裏是我的代碼:

   $this->Email->to = '[email protected]'; 
       $this->Email->subject = 'any subject'; 
       $this->Email->replyTo = '[email protected]'; 
       $this->Email->from = 'Somebody <[email protected]>'; 
       $this->Email->additionalParams = '[email protected]'; 
       $this->Email->template = 'my_template'; 
       $this->Email->sendAs = 'text'; 
       $this->Email->smtpOptions = array(
        'port'=>'465', 
        'timeout'=>'30', 
        'host' => 'ssl://smtp.googlemail.com', // also tried smtp.gmail.com 
        'username'=>'username', 
        'password'=>'pass', 
        ); 
       $this->Email->send(); 

現在,這會導致什麼,但 「連接超時:110」。我嘗試了其他幾種郵件服務。總是得到連接錯誤。

幫助非常讚賞。

回答

0

是的,我真的離開了我的代碼示例。

我已經調試過它,那是當我收到110錯誤。

事實上,我現在設法正確地設置了它。似乎提供商阻止了端口或類似的東西,因爲當我將它移動到另一臺服務器時,一切都很順利。

儘管如此,感謝您的幫助!

+0

男人我得到了同樣的錯誤,再次在另一臺服務器,它工作正常,只是問題是我不能移動到另一臺服務器。你找出確切的問題是什麼?謝謝 – dav 2014-10-24 14:54:12

+0

檢查您的服務器上是否安裝了郵件傳輸代理。也許使用普通的PHP腳本(http://www.rackspace.com/knowledge_center/article/how-can-i-test-php-mail-functionality),如果失敗,請詢問您的提供商。 – Chrisissorry 2014-10-24 18:05:50

+0

感謝您的答覆,是的,因爲它竟然使用另一個SMTP帳戶被禁止。謝謝 – dav 2014-10-24 18:07:10

0

你錯過交貨方式:

$this->Email->delivery = 'smtp'; 

我覺得smtp.gmail.com是你應該去的方式 - 我不知道該ssl版本將正常工作。

1.2手冊在這個話題上好得多(就像很多人一樣)。

嘗試使用http://book.cakephp.org/view/1635/Debugging-Emails(或簡單地debug(someVar);exit;在適當的地方)調試代碼。

+0

是的,我真的離開了我的代碼示例。 我已經調試過它,那是當我收到110錯誤。 事實上,我現在設法正確地設置了它。似乎提供商阻止了端口或類似的東西,因爲當我將它移動到另一臺服務器時,一切都很順利。 儘管如此,感謝您的幫助! – Chrisissorry 2011-03-06 14:58:24

0

檢查服務器上端口465上的傳出連接是否打開。我有同樣的問題,並打開港口解決它。