我知道有很多关于这个话题的问题,但仍然无法弄清楚出了什么问题。
这是我的代码:
$this->Email->to = 'any@mailadress.com';
$this->Email->subject = 'any subject';
$this->Email->replyTo = 'noreply@mailadress.com';
$this->Email->from = 'Somebody <noreply@mailadress.com>';
$this->Email->additionalParams = '-fnoreply@mailadress.com';
$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 :(得分:0)
您错过了投放方式:
$this->Email->delivery = 'smtp';
我认为smtp.gmail.com
是您应该采用的方式 - 我不确定ssl
版本是否可行。
1.2手册在这个主题上要好得多(和许多其他人一样)。
尝试使用http://book.cakephp.org/view/1635/Debugging-Emails(或在适当的位置简单地debug(someVar);exit;
)调试代码。
答案 1 :(得分:0)
是的,我真的把它留在了我的代码示例中。
我已经调试了它,那是我收到110错误的时候。
事实上,我现在设法正确设置了它。似乎提供商阻止了端口或类似的东西,因为当我将它移动到另一台服务器时,一切都很顺利。
然而,谢谢你的帮助!
答案 2 :(得分:0)
检查服务器上是否已打开端口465上的传出连接。我有同样的问题,打开端口解决了它。