2011-03-06 58 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上的传出连接是否打开。我有同样的问题,并打开港口解决它。