php 在smtp.gmail.com本地主机上发送电子邮件的laravel 8中出现“无法与主机www.example.com:stream_socket_client()建立连接”错误

yfjy0ee7  于 2023-02-03  发布在  PHP
关注(0)|答案(1)|浏览(1029)

我试图在我的laravel应用程序中使用gmail smtp发送电子邮件,昨天工作正常,电子邮件正在发送,但今天它给我这个错误。我尝试了各种可能的方法,但还没有弄清楚是什么问题。任何帮助将不胜感激。谢谢。

这是我对smtp服务器的.env设置

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=myemail
MAIL_FROM_NAME="${APP_NAME}"

"我试着改变"

MAIL_PORT= 465
 MAIL_ENCRYPTION = ssl

我也改变了

MAIL_MAILER = sendmail

它还是给我同样的错误,我也允许访问谷歌的不安全应用程序,但错误没有消失。

vd2z7a6w

vd2z7a6w1#

您可以尝试禁用SSL验证来检查问题所在。打开您的config/mail.php文件并添加stream选项,如下所示:

<?php

return [
    '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' => null,
            // region Disable SSL Verify
            'stream' => [
                'ssl' => [
                    'allow_self_signed' => true,
                    'verify_peer' => false,
                    'verify_peer_name' => false,
                ],
            ],
            // endregion
        ],
    ],
];

**注:**由于安全原因,此方法是确定问题的唯一测试方法,而不是最终解决方案。

相关问题