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

Ubuntu 22.04下Postfix备份邮件服务器连接被拒绝问题:如何确认服务状态并修复?

Ubuntu 22.04下Postfix备份邮件服务器连接被拒绝问题:如何确认服务状态并修复?

我最近碰到个闹心的问题:手里有两台跑Ubuntu 22.04的Postfix邮件服务器,主服务器一直工作得顺顺当当,但为了避免主服务器维护或更新期间邮件被退回,特意搭了一台备份邮件服务器——本来指望主服务器离线时它先接收邮件,等主服务器恢复后再把邮件转发回去,结果现在备份服务器居然出现了连接被拒绝的状况!

先跟大家说下我的配置背景:

  • 主服务器是照着基础Postfix邮件服务器教程搭的,备份服务器则是跟着备份邮件服务器的专属教程配置的
  • 主服务器配置了两个MX记录和对应的A记录:mail.mydomain.com 和 mail2.mydomain.com

折腾了好一阵后,我整理出一套排查和修复的步骤,分享给同样踩坑的朋友:

第一步:先确认备份服务器的Postfix服务状态

连接被拒绝最常见的原因就是服务根本没在运行,先在备份服务器上执行这条命令看看状态:

sudo systemctl status postfix

如果输出里显示active (running),那服务层面没问题;要是显示inactive或者failed,先尝试启动服务:

sudo systemctl start postfix

要是启动失败也别慌,查看Postfix的实时日志就能找到问题根源:

sudo journalctl -u postfix -f

日志里会明明白白告诉你是配置文件语法错了、权限不够还是其他系统层面的问题。

第二步:检查Postfix的端口监听情况

邮件服务默认用25端口,得确认Postfix真的在监听这个端口。执行这条命令:

sudo ss -tulpn | grep postfix

正常情况下,你应该能看到状态为LISTEN的:25端口。如果没看到,就去修改Postfix的主配置文件/etc/postfix/main.cf,检查这两个参数:

inet_interfaces = all
inet_protocols = ipv4

确保inet_interfaces不是只设置了本地回环地址(比如localhost),改完配置后记得重启Postfix生效:

sudo systemctl restart postfix

第三步:排查防火墙规则

Ubuntu默认用ufw防火墙,很大概率是25端口没对外开放,导致外部连不上。先查看当前防火墙规则:

sudo ufw status

如果看不到25/tcp被允许的条目,就添加一条允许规则:

sudo ufw allow 25/tcp
sudo ufw reload

第四步:验证MX记录与DNS解析

有时候DNS配置出错也会导致连接异常,你可以在本地用dig命令检查MX记录的优先级和解析情况:

dig mydomain.com MX +short

记住,备份服务器的MX记录优先级数值要比主服务器大(比如主服务器优先级设为10,备份服务器就设为20),这样邮件会优先投递到主服务器,主服务器不可用时才会转向备份服务器。同时要确认MX记录对应的A记录能正确解析到备份服务器的公网IP。

第五步:测试主备服务器之间的连通性

备份服务器最终要把邮件转发给主服务器,得确保两者之间的25端口能正常连通。在备份服务器上执行telnet测试:

telnet mail.mydomain.com 25

如果连接失败,要么是主服务器的Postfix服务没运行,要么是主服务器的防火墙没允许备份服务器的IP访问25端口,得去主服务器上对应排查。

备注:内容来源于stack exchange,提问作者DanRan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 10:53:05