logo 驰遥科技 文档中心
文档 /常见问题 /邮件配置(SMTP)
反馈纠错

邮件配置(SMTP)

邮件配置(SMTP)

一、为什么发不出邮件?

系统发邮件(密码重置/会费提醒/通知)需要 SMTP 配置。没配就会静默失败。

二、QQ 邮箱配置

1. 开启 SMTP

QQ 邮箱 → 设置 → 账户 → POP3/IMAP/SMTP 服务 → 开启 → 生成授权码。

授权码是 16 位随机串,不是 QQ 密码。

2. 填 .env

MAIL_MAILER=smtp
MAIL_HOST=smtp.qq.com
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
MAIL_USERNAME=你的QQ@qq.com
MAIL_PASSWORD=授权码
MAIL_FROM_ADDRESS=你的QQ@qq.com
MAIL_FROM_NAME="协会名称"

三、企业邮箱配置

MAIL_MAILER=smtp
MAIL_HOST=smtp.exmail.qq.com
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
MAIL_USERNAME=admin@yourdomain.com
MAIL_PASSWORD=邮箱密码
MAIL_FROM_ADDRESS=admin@yourdomain.com
MAIL_FROM_NAME="协会名称"

四、阿里云邮件推送

MAIL_MAILER=smtp
MAIL_HOST=smtpdm.aliyun.com
MAIL_PORT=465
MAIL_ENCRYPTION=ssl
MAIL_USERNAME=发信地址
MAIL_PASSWORD=发信密码

阿里云需要先配置发信域名和 DKIM。

五、测试邮件

后台 → 系统设置 → 邮件测试:

填收件邮箱 → 发送 → 看是否收到。

或命令行:

php artisan tinker
>>> Mail::raw('测试', fn($m) => $m->to('test@example.com')->subject('测试'));

六、常见报错

| 报错 | 原因 | |---|---| | 535 Authentication failed | 用户名/授权码错 | | Connection timed out | 端口被封(试 587 或 465) | | SSL operation failed | 加密方式选错(ssl/tls) | | 邮件进了垃圾箱 | 域名没做 SPF/DKIM |

七、端口说明

| 端口 | 加密 | 说明 | |---|---|---| | 465 | SSL | 推荐 | | 587 | TLS | 部分服务器只开这个 | | 25 | 无 | 多数云服务器封了 25 端口 |

八、防垃圾邮件建议

  1. 用企业邮箱(不要用个人 QQ 邮箱群发)
  2. 配 SPF 记录
  3. 配 DKIM 签名
  4. 内容不要全是图片/链接
  5. 控制发送频率

九、常见问题

配置了但收不到

  1. 检查垃圾箱
  2. 看 storage/logs/laravel.log 有没有 SMTP 报错
  3. 用命令行测试一次
  4. 检查发件人地址是否和 SMTP 账号一致

密码重置邮件里的链接打不开

.env 的 APP_URL 必须是外网可访问的完整地址。