无法连接到Gmail的SMTP服务器

时间:2016-03-22 18:20:01

标签: php cakephp smtp cakephp-3.0

我正在使用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服务器

附上错误的完整快照:

enter image description here

1 个答案:

答案 0 :(得分:2)

找到解决方案。在传输配置中添加了这些参数以绕过ssl身份验证:

        'context' => [
            'ssl' => [
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            ]
        ]

像魅力一样工作。