You need to enable JavaScript to run this app. Laravel开发邮件验证接口 Postman报错SMTP连接无法建立如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Laravel开发邮件验证接口 Postman报错SMTP连接无法建立如何解决

解决步骤

1 修正SMTP配置参数匹配

  • 不要在MAIL_PORT字段填写多个端口值,每次只保留一个端口测试,端口与加密方式对应规则如下:
    • 端口587:搭配MAIL_ENCRYPTION=TLS使用,是Mailtrap推荐的TLS加密连接配置
    • 端口25/2525:搭配MAIL_ENCRYPTION=null使用,适用于不加密的SMTP连接
  • 优先固定配置为:
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=587
MAIL_USERNAME=你的Mailtrap用户名
MAIL_PASSWORD=你的Mailtrap密码
MAIL_ENCRYPTION=TLS
MAIL_FROM_ADDRESS=test@gmail.com
MAIL_FROM_NAME="${APP_NAME}"

2 排查网络连通性问题

该报错核心为TCP连接超时,绝大多数情况由本地网络/防火墙/运营商端口拦截导致:

  • 本地终端执行命令测试端口连通性:telnet smtp.mailtrap.io 587,如果返回连接超时,可确认是网络层面拦截
  • 临时关闭本地防火墙、杀毒软件的网络防护规则后重试
  • 如仍无法连接,切换手机热点网络测试,排除运营商对公网25/587端口的封禁限制

3 确认Laravel配置生效

  • 清空缓存后重新生成配置缓存,执行命令:
php artisan config:clear
php artisan config:cache
  • 可新增临时测试路由打印实际加载的邮件配置,核对参数是否和.env一致:
Route::get('/test-mail-config', function () {
    dd(config('mail'));
});

4 业务逻辑验证

如果网络侧确实无法连接Mailtrap,可临时修改驱动为log验证业务逻辑是否正常:
MAIL_MAILER=log
修改后发送的邮件会写入storage/logs/laravel.log文件,可确认邮箱验证的业务代码无问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 15:27:02