【问题标题】:Cannot connect to gmail SMTP Server无法连接到 gmail SMTP 服务器
【发布时间】:2016-03-22 18:20:01
【问题描述】:

我正在使用 cakephp 3.0。我正在尝试通过 gmail SMTP 服务器使用 cakephp 发送邮件。我正在尝试从我的本地主机执行此操作,所以我没有 ssl。这是我在app.php中做的配置:

'EmailTransport' => [
    'gmail'=>[
        'className'=>'Smtp',
        'host'=>'smtp.gmail.com',
        'port'=>587,
        'timeout' => 60,
        'username'=>'myemail@gmail.com',
        'password'=>'mypassword',
        'tls' => true,
    ]
]

这是我创建电子邮件配置文件的地方:

'Email' => [
    'gmail' => [
        'transport' => 'gmail',
        'from' => 'myemail@gmail.com'
    ]
],

这是我的自定义邮件程序类中的代码:

    $mail
        ->to($email)
        ->profile('gmail')
        ->subject($this->subject)
        ->emailFormat('html')
        ->template('welcome')
        ->viewVars([
            $name=>$name,
            $code=>$code
        ]);

我已经允许访问我的 gmail 帐户中安全性较低的应用程序。这是 cakephp 抛出的错误:

SMTP 服务器不接受连接或尝试使用 TLS 连接到非 TLS SMTP 服务器

附上错误的完整快照:

【问题讨论】:

标签: php cakephp smtp cakephp-3.0


【解决方案1】:

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

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

工作就像一个魅力。

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 2015-06-13
    • 2020-09-19
    • 1970-01-01
    相关资源
    最近更新 更多