【问题标题】:PHPMailer using gmail使用 gmail 的 PHPMailer
【发布时间】:2023-03-18 16:00:01
【问题描述】:

我正在尝试使用 PHPMailer 和 Gmail 发送电子邮件。它在 PHP 5.5 上运行良好,但是当我更新到 php 5.6 时出现此错误(端口 587 上的 tls):stream_socket_enable_crypto():SSL 操作失败,代码为 1。OpenSSL 错误消息:错误:14090086:SSL 例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败

如果我尝试在端口 465 上使用 ssl,我会得到:2015-05-29 15:11:58 SMTP 错误:无法连接到服务器:(0) 2015-05-29 15:11:58 SMTP 连接() 失败的。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

我搜索了一下,唯一发现是我应该设置 OAUTH2,但我不知道如何设置。我也搜索了一下,发现了这个:https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2

当他们说我应该更新 get_auth_token.php 时,我遵循了这一点并卡住了。我在任何地方都找不到这个文件。这就是我使用composer安装phpmailer的方式:“phpmailer/phpmailer”:“~5.2”

有人知道如何使用或不使用 OAUTH2 吗?我正在使用 php 5.6.8

提前致谢, 布萨纳4

【问题讨论】:

    标签: php email gmail


    【解决方案1】:

    PHP 5.6 引入了SSL 证书验证,因此如果您的配置被破坏,它将失败并出现此 SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 错误。您应该修复您的 SSL,但您可以通过覆盖 PHP MAILER 并将这些选项传递给 smtpConnect 函数来恢复旧行为。

    $options = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
        )
    );
    

    @Courtesy 同步

    【讨论】:

    • 这很好:) 只要我在本地运行并在上线时修复 SSL,我就会使用它。谢谢!
    猜你喜欢
    • 2022-08-10
    • 2015-02-01
    • 2012-05-20
    • 2017-11-18
    • 2014-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多