【问题标题】:stream_socket_enable_crypto(): Peer certificatestream_socket_enable_crypto():对等证书
【发布时间】:2021-07-09 17:21:19
【问题描述】:

我正在尝试将私人电子邮件与我的 Laravel 项目联系起来。

.env 配置如下

MAIL_DRIVER=smtp
MAIL_HOST=mail.privateemail.com
MAIL_PORT=587
MAIL_USERNAME=contact@myDomainName.com
MAIL_PASSWORD=myPrivateEmailPassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=contact@myDomainName.com
MAIL_FROM_NAME=MyCustomName

在这之后,我运行这三个命令,

php artisan config:clear
php artisan config:cache
php artisan queue:restart

我有太多 EmailJob 文件无法发送电子邮件。这就是我使用最后一个命令的原因。

我得到了什么错误?

{"status":500,"data":"stream_socket_enable_crypto(): Peer certificate CN=`111-11-11-227.cprapid.com' did not match expected CN=`mail.privateemail.com'"}

注意:111-11-11-227 是我在这里给的假号码。因为我需要保密。

Laravel 5.8

【问题讨论】:

    标签: laravel email smtp


    【解决方案1】:

    您收到错误是因为您要求它连接到名为 mail.privateemail.com 的服务器,但您实际上是在连接到名为 111-11-11-227.cprapid.com 的服务器。 TLS 专门设计用于在证书名称不匹配时拒绝连接,从而保护您免受假装不是的服务器的侵害。

    对此有几种可能的解释。

    1. 您的邮件服务器名称错误,您被重定向到正确的名称,但导致名称不匹配
    2. 您的服务器名称是正确的,但您的托管服务提供商将流量重定向到他们自己的邮件服务器以作为垃圾邮件预防策略
    3. 一些不良行为者正在拦截您的流量并将其重定向到他们自己的邮件服务器(在这种情况下,TLS 正在发挥作用),希望诱骗您泄露凭据

    如果是 1,只需更改您的配置以在正确的服务器上使用。如果是 2,则可能直接指向您的托管服务提供商的邮件服务器——他们的文档应该会告诉您该怎么做。如果是 3,那么我们有 TLS 来保护我们的流量并将其报告给您的提供商,这算是您的幸运!

    【讨论】:

      猜你喜欢
      • 2017-05-24
      • 2018-01-05
      • 2019-05-27
      • 1970-01-01
      • 2018-07-20
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多