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

Laravel 8 重置密码功能无法发送邮件问题求助

问题排查方案

你已跟踪到SwiftMailer的send()方法无异常,说明Laravel核心发信逻辑正常,问题出在邮件投递或收件方处理环节,可按以下步骤排查:

  • 核对重置密码收件邮箱准确性
    日志记录mail accepted for delivery仅代表本地MTA(邮件传输代理)已接收发信请求,若收件邮箱地址存在拼写错误、域名后缀错误等问题,邮件会在后续投递环节被退回。可查看mail.log完整日志确认发信时的收件人地址是否和预期一致,排除地址填错问题。
  • 确认重置密码功能的发件人配置未被覆盖
    手动调用Mail facade发信时默认读取.env配置的MAIL_FROM_ADDRESS,但重置密码功能的发件人可能被两处配置覆盖:
    1. config/auth.php中密码重置代理的from配置项
    2. 自定义的重置密码通知类(如重写ForgotPasswordNotification的toMail方法时手动指定了发件人)
      若实际发件人域名未配置SPF、DKIM记录,或不在本地MTA的允许发件人列表中,邮件会被收件方服务商拦截。可在重置密码发信逻辑中临时打印$message->getFrom()确认发件人是否和你手动发信时的发件人一致。
  • 检查邮件是否被归入垃圾箱或被收件方静默拦截
    你当前使用本地25端口无加密发信,无身份校验,且重置密码邮件自带跳转链接,极易触发收件方的反垃圾规则。可先将发件地址john.doe@domainename.fr加入收件邮箱的白名单后再次测试,同时查看收件箱的垃圾箱、广告箱分类。
  • 核查退信日志
    accepted for delivery不等于投递成功,若收件方拒收邮件,本地MTA会在1-5分钟内生成退信日志,记录具体拒收原因(如收件人不存在、内容判定为垃圾邮件等)。发信后等待数分钟再次查看完整/var/log/mail.log,查找退信相关的报错记录。
  • 验证邮件模板合法性
    若你自定义了重置密码的邮件模板,可临时替换为你手动发信时使用的正常模板测试,排查是否因模板存在语法错误、不合规内容导致邮件被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:45:05