【发布时间】: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 中配置此选项?或者是另一个错误? 感谢您的帮助。
【问题讨论】:
-
正如另一位用户在该帖子中所说:“该答案并未描述该更改的后果。如果您将其更改为“邮件”,它将通过 PHP 邮件发送邮件,这意味着它将受到较高垃圾邮件分数的影响,因为 PHP 本质上是在欺骗电子邮件。”无论如何,谢谢。
标签: php laravel email smtp environment-variables