在 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 在控制器中发送邮件之前更改邮件配置?