Laravel Gmail 无法工作,“用户名和密码不被接受。了解更多...”

作者:编程家 分类: laravel 时间:2025-12-14

标题:Laravel Gmail 无法工作:“用户名和密码不被接受。了解更多...”

在使用 Laravel 发送电子邮件时,有时候会遇到 Gmail 无法正常工作的问题,错误信息显示为:“用户名和密码不被接受”。这是由于一些配置问题导致的,下面将详细介绍该问题的原因和解决方法。

问题原因

当我们使用 Laravel 的邮件功能时,需要配置一些参数,包括 Gmail 的用户名和密码。然而,Gmail 的安全策略会阻止一些应用程序使用用户名和密码进行访问,以保护用户账户的安全。

解决方法

为了解决这个问题,我们可以使用 Gmail 的应用密码来代替普通密码进行认证。应用密码是由 Google 生成的一次性密码,仅用于特定的应用程序。下面是解决方案的步骤:

步骤 1:登录到您的 Google 账户,并前往“安全性”设置页面。

步骤 2:在“登录到 Google”部分,点击“应用密码”。

步骤 3:选择“其他(自定义名称)”作为应用程序,并输入“Laravel”作为自定义名称。然后点击“生成”。

步骤 4:Google 会生成一个应用密码,将其复制并保存在安全的地方。

步骤 5:在 Laravel 的配置文件中,将您的 Gmail 配置更改为使用应用密码而不是普通密码。在 `config/mail.php` 文件中,将 `'password' => env('MAIL_PASSWORD')` 这行代码修改为 `'password' => '您的应用密码'`。

案例代码

下面是在 Laravel 中使用 Gmail 发送邮件的示例代码:

php

use Illuminate\Support\Facades\Mail;

// 发送邮件

Mail::send([], [], function ($message) {

$message->to('recipient@example.com')

->subject('测试邮件')

->setBody('这是一封测试邮件,请忽略。');

});

通过以上步骤和案例代码,您应该能够解决 Laravel Gmail 无法工作的问题。现在,您可以轻松地使用 Gmail 发送电子邮件,而不再遇到“用户名和密码不被接受”的错误信息。祝您使用 Laravel 发送邮件愉快!