配置Mailtrap发信时提示无法连接mailhog主机如何解决
错误原因
报错核心提示为无法找到mailhog主机,说明你的邮件服务实际尝试连接的主机是mailhog,而非你在.env中配置的smtp.mailtrap.io,本质是你填写的.env配置没有被项目加载生效,常见原因有两类:
- 项目存在旧的配置缓存,没有读取到最新的.env修改
- 邮件配置文件中硬编码了
mailhog作为默认主机,没有读取.env中的MAIL_HOST参数
修复方案
- 清除配置缓存
若使用Laravel框架,在项目根目录执行以下命令清除旧配置缓存:php artisan config:clear
生产环境部署建议后续重新生成缓存:php artisan config:cache - 检查邮件配置文件
打开项目邮件配置文件(Laravel路径为config/mail.php),确认smtp发信器的host配置是读取.env参数,没有硬编码为mailhog,参考正确配置:'smtp' => [ 'host' => env('MAIL_HOST', 'smtp.mailtrap.io'), // 其余配置保持原有正常逻辑即可 ], - 校验.env配置
确认.env文件中MAIL_HOST键名拼写正确,无多余空格、符号错误,值确实为smtp.mailtrap.io - 验证配置生效
可临时在测试代码中打印当前加载的邮件主机配置,确认修改已生效:dd(config('mail.mailers.smtp.host'));
输出结果为smtp.mailtrap.io即代表配置正常,此时调用邮件类即可正常连接Mailtrap服务。
内容的提问来源于stack exchange,提问作者mcClean
相关产品推荐
相关产品推荐

