Ubuntu服务器Mailgun SMTP发信失败,Laravel+Fastpanel环境求助
排查Ubuntu+Fastpanel环境下Mailgun SMTP连接超时问题
检查服务器端口与防火墙限制
连接超时核心原因多为端口被拦截,按以下步骤排查:- 查看系统UFW防火墙规则:
sudo ufw status,确认587、465、25端口处于放行状态 - 进入Fastpanel后台防火墙模块,检查是否存在SMTP相关端口的拦截规则
- 联系VDS服务商,确认机房是否默认封禁SMTP端口(多数服务商默认限制25端口,部分会延伸到587/465)
- 查看系统UFW防火墙规则:
验证DNS解析有效性
执行nslookup smtp.eu.mailgun.org,确认能正常解析到Mailgun的服务器IP。若解析失败,修改服务器DNS配置文件/etc/resolv.conf,替换为8.8.8.8或1.1.1.1后重试。区分网络层面与应用层面问题
用telnet直接测试连接:telnet smtp.eu.mailgun.org 587- 若同样超时,说明问题出在服务器网络链路,与Laravel代码无关
- 若能正常连接,检查Laravel配置:
- 确认
.env中MAIL_HOST=smtp.eu.mailgun.org、MAIL_PORT=587、MAIL_ENCRYPTION=tls配置正确 - 核对
MAIL_USERNAME和MAIL_PASSWORD为Mailgun提供的有效凭证 - 执行
php artisan config:cache刷新配置缓存
- 确认
排查Fastpanel自带邮件服务冲突
Fastpanel默认集成Postfix等邮件服务,可能占用或干扰外部SMTP连接:- 查看Postfix运行状态:
sudo systemctl status postfix - 临时停止Postfix服务:
sudo systemctl stop postfix,再重新测试openssl s_client连接
- 查看Postfix运行状态:
追踪网络链路节点
执行traceroute smtp.eu.mailgun.org,观察数据包丢失的节点位置:- 若在机房内部节点丢包,联系服务商调整路由配置
- 若在Mailgun侧节点丢包,提交Mailgun支持工单说明服务器IP与测试情况
内容的提问来源于stack exchange,提问作者Rah Emil
相关产品推荐
相关产品推荐

