Stream_socket_enable_crypto():对等证书 CN=`<主机名>' 与预期的 CN=`smtp-relay.sendinblue.com' 不匹配

kyi*_*kyi 2 php email laravel laravel-8

在部署到实时服务器上后,我正在 Laravel 8 中使用邮件功能,我有以下配置。

.env

MAIL_MAILER=smtp
MAIL_HOST=smtp-relay.sendinblue.com
MAIL_PORT=587
MAIL_USERNAME=MAIL
MAIL_PASSWORD=*************
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)

配置/邮件.php

'default' => env('MAIL_MAILER', 'sendmail'),

'mailers' => 
      [
        'smtp' => [
            'transport' => 'smtp',
            'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
            'port' => env('MAIL_PORT', 587),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME'),
            'password' => env('MAIL_PASSWORD'),
            'timeout' => null,
            'auth_mode' => env('MAIL_AUTH_MODE'),
        ],

        'sendmail' => [
            'transport' => 'sendmail',
            'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -t -i'),
        ],
    ],
Run Code Online (Sandbox Code Playgroud)

我的配置有错吗?任何建议都表示赞赏,谢谢。

注意:一切都可以在本地环境中工作(Window 10)

小智 5

此错误是由于服务器配置造成的。Live Server 配置为限制从外部邮件服务器发出的电子邮件。

如果您在实时服务器中使用 WHM/CPanel,

  1. 登录 WHM 面板并搜索 smtp 并选择 SMTP 限制。 在此输入图像描述
  2. 单击禁用按钮。 在此输入图像描述

如果您使用任何其他服务器,例如 AWS、DigitalOcean、Google Cloud 或任何其他提供商,并且配置取决于服务器。