使用 gmail 的 PHPMailer

PHPMailer using gmail

我正在尝试使用 PHPMailer 和 Gmail 发送电子邮件。它在 PHP 5.5 上运行良好,但是当我更新到 php 5.6 时,我收到此错误(端口 587 上的 tls):stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL 错误消息: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE: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

提前致谢, Busarna4

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
    )
);

@礼貌同步