GMAIL smtp 使用时出现 Laravel 错误:“无法与主机“mailpit:1025”建立连接”

问题描述 投票:0回答:3

我尝试通过 Laravel 和 Gmail 使用发送电子邮件,但它会抛出此错误:

无法与主机“mailpit:1025”建立连接: Stream_socket_client(): php_network_getaddresses: 获取地址信息 mailpit失败:没有这样的主机是已知的。

我不明白为什么它尝试连接到 Mailpit 而不是 Gmail。

我的 .env 文件如下所示:

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=[google app password]
MAIL_ENCRYPTION=ssl

我的路由如下所示:

Route::get('/senMail', function () {

    try {
        Mail::to('[email protected]’')->send(new Subscribe());
    } catch (Throwable $e) {
        return '<div>FAILED ' . $e . '</div>';
    }
});

订阅模板是常规的

php artisan make:mail Subscribe --markdown=emails.subscribers

我尝试运行

php artisan cache:clear 
php artisan config:clear
,但一直抛出错误,我也将端口587更改为465,但没有成功。

还在

config/mail.php
文件中尝试过此配置:

        'stream' => [
            'ssl' => [
                'allow_self_signed' => true,
                'verify_peer' => false,
                'verify_peer_name' => false,
            ],
        ],
php laravel smtp gmail
3个回答
0
投票

作者:@aynber: “尝试从项目根目录使用 grep -R mailpit * | egrep -v storage 来找出它被引用的位置。”

自从我遇到这个问题以来已经有一段时间了,但这帮助我找到了仍在使用其他 smtp 提供商的代码行。刚换成我的。


-1
投票

要使用 Gmail 作为邮件服务器发送电子邮件,您可以使用 Gmail SMTP(简单邮件传输协议)服务器。以下是一般步骤:

首先,如果您使用的是 Windows,请将其添加到路径中的主机文件:C:\Windows\System32\drivers tc 127.0.0.1 邮箱

启用安全性较低的应用程序:

转到您的 Google 帐户设置。 导航至“安全”。 找到“安全性较低的应用程序访问”部分并将其打开。请注意,此选项会降低您帐户的安全性,因此请谨慎使用。 生成应用程序密码:

如果您启用了双因素身份验证(推荐),您可能需要为您的应用程序生成“应用程序密码”。 转到您的 Google 帐户设置,导航至“安全”,然后找到“应用程序密码”。 使用 SMTP 服务器:

设置电子邮件发送脚本或应用程序以使用 Gmail 的 SMTP 服务器。 以下是 SMTP 设置: SMTP 服务器:smtp.gmail.com 端口:587 用户名:您的完整 Gmail 地址(包括@gmail.com) 密码:您的 Gmail 密码或您生成的应用程序密码。


-6
投票

在终端中尝试这两个命令

php artisan route:clear // 清除路由缓存

php artisan config:cache // 这会清除配置缓存

© www.soinside.com 2019 - 2024. All rights reserved.