在 Laravel 中使用 TLS 配置电子邮件 - 错误 SSL 操作失败,代码 1 [重复]

Posted

技术标签:

【中文标题】在 Laravel 中使用 TLS 配置电子邮件 - 错误 SSL 操作失败,代码 1 [重复]【英文标题】:Configure email with TLS in Laravel - Error SSL operation failed with code 1 [duplicate] 【发布时间】:2020-10-30 15:38:10 【问题描述】:

我想使用 Laravel 配置带有 TLS 的自定义电子邮件(不是 gmail),但我无法使其工作。

我得到的错误是:

stream_socket_enable_crypto():SSL 操作失败,代码为 1。 OpenSSL 错误消息:\n错误:1416F086:SSL 例程:tls_process_server_certificate:证书验证失败

在我的.env 文件中,我有:

MAIL_DRIVER=smtp
MAIL_HOST=mail.**********.com
MAIL_PORT=587
MAIL_USERNAME=system@**********.com
MAIL_PASSWORD=**********
MAIL_FROM_ADDRESS=system@**********.com
MAIL_ENCRYPTION=tls

我在一个非 Laravel php 项目中尝试了相同的帐户,它工作得很好。在那个项目中,我有一个我认为是关键的选项:

$mailer->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
        )
    );
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'tls';

如何在 Laravel 中配置此选项?或者是另一个错误? 感谢您的帮助。

【问题讨论】:

可能的解决方案? ***.com/a/30686838/11801683 正如另一位用户在该帖子中所说:“该答案并未描述该更改的后果。如果您将其更改为“邮件”,它将通过 PHP 邮件发送邮件,这意味着它将受到较高垃圾邮件分数的影响,因为 PHP 本质上是在欺骗电子邮件。”无论如何,谢谢。 【参考方案1】:

最后,当我将 MAIL_ENCRYPTION 更改为 null 时,它工作得很好。我认为这是服务器配置问题,我将与系统管理员一起检查。 问候

【讨论】:

禁用加密似乎不是解决问题的好方法,禁用“非 Laravel PHP 项目”中的安全措施也是如此

以上是关于在 Laravel 中使用 TLS 配置电子邮件 - 错误 SSL 操作失败,代码 1 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5:发送电子邮件

如何在使用 Laravel 在控制器中发送邮件之前更改邮件配置?

在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是啥?

如何在 laravel 中配置多封电子邮件 [关闭]

使用 TLS 的 ColdFusion 电子邮件设置

邮件TLS/SSL加密通信