You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9邮件验证异常:仅.env配置邮箱收到验证链接求助

Laravel 9邮件验证仅配置邮箱能收到的问题排查与解决

核心原因分析

你的问题大概率是SMTP配置不匹配导致邮件发送失败,仅配置邮箱可能因本地测试或特殊规则收到,其他用户邮箱无法正常接收。结合你的配置,主要问题点如下:

1. SMTP端口与加密方式不兼容

Gmail SMTP的端口与加密对应规则是:

  • 端口465 → 加密方式ssl
  • 端口587 → 加密方式tls

你当前配置中MAIL_PORT=465却搭配MAIL_ENCRYPTION=tls,这会导致邮件发送连接失败,大部分邮箱无法收到验证邮件。

2. 配置缓存未更新

修改.env文件后,Laravel可能仍在使用旧的缓存配置,导致新的SMTP设置未生效。

3. Gmail账户安全设置限制

若使用Gmail作为发件邮箱,未正确配置应用密码或开启相关权限,会导致邮件被拦截。


解决步骤

步骤1:修正SMTP配置

将.env中的邮件配置调整为以下二选一:

方案A(使用465端口)

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=mymail@gmail.com
MAIL_PASSWORD=zdmqlfstftkdvrsz
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="Travel"

方案B(使用587端口)

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=mymail@gmail.com
MAIL_PASSWORD=zdmqlfstftkdvrsz
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="Travel"

步骤2:清除配置缓存

在项目根目录执行以下命令,确保新配置生效:

php artisan config:clear
php artisan cache:clear

步骤3:验证Gmail账户权限

  1. 确保你的Gmail账户已开启两步验证(必须开启才能生成应用密码)。
  2. 前往Google账户的应用密码页面,生成一个专门用于Laravel的应用密码。
  3. 将生成的应用密码替换.env中的MAIL_PASSWORD值(Gmail现在不允许直接用普通密码登录第三方应用)。

步骤4:测试邮件发送

创建一个测试邮件来验证发送功能:

  1. 生成测试邮件类:
php artisan make:mail TestVerificationMail
  1. 在app/Mail/TestVerificationMail.php中编写简单内容:
<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class TestVerificationMail extends Mailable
{
    use Queueable, SerializesModels;

    public function __construct()
    {
        //
    }

    public function build()
    {
        return $this->view('emails.test')
                    ->subject('测试验证邮件');
    }
}
  1. 创建视图文件resources/views/emails/test.blade.php:
<p>这是一封测试验证邮件,请确认是否收到。</p>
  1. 在路由中添加测试发送逻辑:
use App\Mail\TestVerificationMail;
use Illuminate\Support\Facades\Mail;

Route::get('/test-mail', function () {
    Mail::to('其他测试邮箱@xxx.com')->send(new TestVerificationMail());
    return '邮件已发送,请查收';
});

访问该路由,查看测试邮箱是否能收到邮件。


内容的提问来源于stack exchange,提问作者anasa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:42:38