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

Laravel Forge生产服务器配置Mailgun发信提示无法连接mailhog错误

排查解决步骤

  • 清除并重建Laravel配置缓存
    在项目根目录依次执行命令:

    php artisan config:clear
    php artisan config:cache
    

    Laravel生产环境默认会启用配置缓存,修改.env后如果不更新缓存,会一直读取旧的配置值。

  • 重启队列工作进程
    从错误栈可以看到你的邮件是走队列异步发送的,队列进程启动时只会加载一次配置,后续修改配置后如果不重启队列,会一直沿用启动时的旧配置。执行命令重启队列:

    php artisan queue:restart
    

    如果你用Supervisor管理队列进程,也可以直接重启对应站点的队列进程组保证配置生效。

  • 检查Laravel Forge面板的站点环境变量
    Forge会为每个站点单独维护一套环境变量,部署时会用面板内的变量覆盖项目根目录的.env文件。登录Forge后台进入对应站点的「Environment」页面,检查所有MAIL_开头的配置项,确认MAIL_HOST等参数是否为正确的Mailgun配置,是否被误设为mailhog。

  • 校验CLI模式下的邮件配置
    如果你之前是在web请求中输出配置校验,只能代表web环境的配置正确,队列运行在CLI模式下,两边的环境变量可能存在差异。在项目根目录执行命令查看CLI下的实际邮件配置:

    php artisan tinker --execute="print_r(config('mail'));"
    

    确认输出的host、driver等参数是否和你预期的Mailgun配置一致。

  • 检查配置文件的条件逻辑
    打开项目config/mail.php文件,检查是否存在针对环境的条件判断逻辑,比如是否误将生产环境的邮件配置指向了mailhog。

  • 排查高优先级环境变量
    检查VPS系统级环境变量、PHP CLI/php-fpm的配置文件、站点的.htaccess文件中是否有设置MAIL_HOST为mailhog的参数,这类配置的优先级高于项目.env文件,会覆盖项目内的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:54:03