Laravel应用SMTP配置问题:邮件无法送达Gmail邮箱
Laravel Webmail 无法发送邮件到 Gmail 的排查与解决
检查SPF/DKIM/DMARC记录
Gmail对邮件验证标准严苛,需确保域名配置正确的三类验证记录:- SPF:在DNS添加TXT记录,格式示例
v=spf1 include:你的webmail服务商域名 ~all - DKIM:按照webmail服务商提供的公钥配置DNS TXT记录,同时确保Laravel发送邮件时启用DKIM签名
- DMARC:添加TXT记录
v=DMARC1; p=quarantine; sp=quarantine; rua=mailto:dmarc@yourdomain.com(可根据需求调整p值)
- SPF:在DNS添加TXT记录,格式示例
排查邮件内容与标题
Gmail垃圾邮件过滤会识别敏感词、过度营销话术或夸张标题。避免使用"免费""特惠"这类高频垃圾词,确保邮件内容正规且有实际价值。查看投递日志
检查Laravel的storage/logs/laravel.log,确认邮件请求是否正常提交给webmail;同时登录webmail后台,查看Gmail返回的具体失败原因(如错误码550-5.7.1表示因信誉问题被拒收)。修正Laravel邮件配置
确保.env中发件人地址与webmail域名一致,禁止使用免费邮箱作为发件人。示例配置:MAIL_MAILER=smtp MAIL_HOST=你的webmail服务器地址 MAIL_PORT=465 MAIL_USERNAME=你的webmail账号 MAIL_PASSWORD=你的webmail密码 MAIL_ENCRYPTION=ssl MAIL_FROM_ADDRESS=noreply@yourdomain.com MAIL_FROM_NAME="${APP_NAME}"确认Webmail IP信誉
若webmail服务商的IP被Gmail列入临时黑名单,联系服务商更换IP或申请信誉申诉;也可通过Gmail Postmaster Tools提交域名和IP进行信誉校验。测试纯文本邮件
先发送简单纯文本邮件到Gmail,排除HTML格式或附件触发的过滤规则。若纯文本可送达,再逐步添加HTML内容和附件,定位问题根源。
内容的提问来源于stack exchange,提问作者Abbas Ajorlou
相关产品推荐
相关产品推荐

