如何强制hMailServer对本地配置的域名采用路由进行外部投递而非本地投递?
如何强制hMailServer对本地配置的域名采用路由进行外部投递而非本地投递?
我之前也踩过hMailServer这个坑——为了DKIM签名必须保留本地域名,结果发给这个域名的邮件总被强制本地投递,要么报「未知用户」,要么连自己都不行。结合你用的5.6.8-B2574版本,给你几个精准的解决办法,完全贴合你的约束条件:
方案一:用路由+MX记录直接走外部投递(优先推荐,无需外部中继)
这是最符合你需求的方法,不用依赖任何外部中继服务,还能保住DKIM的本地域名配置:
- 打开hMailServer的管理后台,点进「设置」→「高级」→「路由」菜单
- 点击「添加」新建一条路由:
- 「域名」栏填你要强制外部投递的本地域名(比如example.com)
- 「优先级」设为1(数值越小优先级越高,确保它抢在本地投递逻辑前生效)
- 重点来了!别在「SMTP主机」栏填任何IP或域名,直接勾选下面的「使用目标域名的MX记录」选项(5.6.8版本里这个选项就在输入框正下方)
- 保存设置后重启hMailServer就生效了
这么操作之后,发给这个域名的邮件会直接走该域名的真实公网MX记录投递,完全跳过本地处理逻辑,也不会出现「连接到自己」的报错。
方案二:禁用本地域名接收+路由(双重保险)
如果方案一的路由优先级没生效(极少数情况),可以再加一步彻底切断本地投递的可能:
- 回到hMailServer的「域名」列表,找到你的本地域名双击打开设置
- 找到「允许接收邮件」的复选框(有的版本叫「启用接收功能」),把它取消勾选
- 再按照方案一的步骤配置好MX记录路由
这样hMailServer会明确知道这个本地域名不负责收信,再配合高优先级路由,就能100%触发外部投递。
避坑小贴士
- 千万别填localhost/127.0.0.1当SMTP主机,hMailServer会立刻检测到是连接自己直接报错,纯纯浪费时间
- 确保你的服务器能正常解析目标域名的MX记录,而且防火墙没拦25端口的出站连接
内容来源于stack exchange
相关产品推荐
相关产品推荐

