CakePHP SMTP连接超时

CakePHP SMTP连接超时,cakephp,smtp,gmail,Cakephp,Smtp,Gmail,我知道关于这个话题有很多问题,但我还是不知道出了什么问题 这是我的密码: $this->Email->to = 'any@mailadress.com'; $this->Email->subject = 'any subject'; $this->Email->replyTo = 'noreply@mailadress.com'; $

我知道关于这个话题有很多问题,但我还是不知道出了什么问题

这是我的密码:

                $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();
$this->Email->to=$any@mailadress.com';
$this->Email->subject='任何主题';
$this->Email->replyTo='snoreply@mailadress.com';
$this->Email->from='someone';
$this->Email->additionalParams=-fnoreply@mailadress.com';
$this->Email->template='my_template';
$this->Email->sendAs='text';
$this->Email->smtpOptions=array(
“端口”=>“465”,
“超时”=>“30”,
'主机'=>'ssl://smtp.googlemail.com“,//还尝试了smtp.gmail.com
“用户名”=>“用户名”,
“密码”=>“通过”,
);
$this->Email->send();
现在这只会导致“连接超时:110”。我尝试了其他几种邮寄服务。始终获取连接错误


非常感谢您的帮助。

您缺少以下交付方法:

$this->Email->delivery = 'smtp';
我认为
smtp.gmail.com
是你应该走的路-我不确定
ssl
版本是否能工作

1.2手册在这个主题上做得更好(与其他许多手册一样)


尝试使用调试代码(或者简单地使用
debug(someVar);在适当的位置退出;

是的,我在代码示例中遗漏了这一点

我已经调试过了,那是我收到110错误的时候

事实上,我现在已经把它设置好了。似乎提供商阻止了端口之类的,因为当我将其移动到另一台服务器时,一切正常


不过,谢谢你的帮助

检查服务器上端口465上的传出连接是否打开。我也遇到了同样的问题,打开端口就解决了。

是的,我真的在代码示例中遗漏了这一点。我已经调试过了,那是我收到110错误的时候。事实上,我现在已经把它设置好了。似乎提供商阻止了端口之类的,因为当我将其移动到另一台服务器时,一切正常。不过,谢谢你的帮助!老兄,我也犯了同样的错误,在另一台服务器上工作正常,只是问题是我不能移动到另一台服务器。你知道确切的问题是什么吗?感谢检查您的服务器上是否安装了邮件传输代理。可能使用普通的PHP脚本(),如果失败,请询问您的提供商。感谢您的回复,是的,因为使用另一个smtp帐户是不允许的。谢谢