我正在使用cakephp 3.0。我试图通过gmail SMTP服务器使用cakephp发送邮件。我试图从我的localhost这样做,所以我没有ssl。这是我在app.php中完成的配置:
ScriptManager.RegisterStartupScript(
this.Page,
Page.GetType(),
"OpenModalDialog",
"document.getElementById('<%=tnHiddenBreak.ClientID%>').click();",
true);
这是我创建电子邮件个人资料的地方:
sqldeveloper-4.1.3.20.78-no-jre
这是我自定义邮件程序类的代码:
'EmailTransport' => [
'gmail'=>[
'className'=>'Smtp',
'host'=>'smtp.gmail.com',
'port'=>587,
'timeout' => 60,
'username'=>'myemail@gmail.com',
'password'=>'mypassword',
'tls' => true,
]
]
我已经允许在我的Gmail帐户中访问安全性较低的应用。这是cakephp抛出的错误:
SMTP服务器未接受连接或尝试使用TLS连接到非TLS SMTP服务器
附上错误的完整快照:
答案 0 :(得分:2)
找到解决方案。在传输配置中添加了这些参数以绕过ssl身份验证:
'context' => [
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
]
像魅力一样工作。