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

如何为mailcow-dockerized邮件服务器配置多主机名/IP及触发DNS更新

解决方案

1. 双域名独立IP/主机名发信配置(可实现)

前置检查

  • 确认服务器网卡已正确配置IP1和IP2两个公网IP,两个IP均可正常对外访问
  • 确认domain1.com和domain2.com的公网DNS记录已配置正确:
    • mail.domain1.com A记录指向IP1
    • mail.domain2.com A记录指向IP2
    • 两个域名的SPF记录已分别添加对应IP的授权

配置步骤

  1. 修改postfix主配置文件
    编辑mailcow安装目录下的data/conf/postfix/main.cf,添加如下规则:
sender_dependent_default_transport_maps = hash:/opt/postfix/conf/sender_transport
  1. 创建发件人对应传输规则文件
    在相同目录下新建sender_transport文件,内容如下:
@domain1.com smtp-ip1:
@domain2.com smtp-ip2:
  1. 配置不同IP对应的SMTP传输实例
    编辑同目录下的master.cf,在末尾添加如下配置:
smtp-ip1 unix - - n - - smtp
  -o smtp_helo_name=mail.domain1.com
  -o smtp_bind_address=IP1

smtp-ip2 unix - - n - - smtp
  -o smtp_helo_name=mail.domain2.com
  -o smtp_bind_address=IP2
  1. 生效配置
    依次执行如下命令:
# 生成规则的哈希索引
docker-compose exec postfix-mailcow postmap /opt/postfix/conf/sender_transport
# 重启postfix容器生效
docker-compose restart postfix-mailcow

配置完成后发送测试邮件,即可看到发信IP和EHLO主机名已对应到发件人所属域名。

2. UI DNS记录显示未更新问题

Mailcow UI中域名详情页的DNS提示内容为默认推荐值,不会自动同步公网DNS的实际记录,仅用于配置参考,不影响实际邮件服务运行。
如需让UI显示正确的记录,可手动修改域名配置:

  • 进入Mailcow UI → Configuration → Mail Setup → 点击domain2.com对应的编辑按钮
  • 找到MX记录配置项,手动修改为mail.domain2.com后保存
  • 重新点击DNS查看即可显示更新后的配置

注意:你之前执行的重启命令参数有误,正确的后台启动命令为docker-compose up -d,-g参数不属于docker-compose的标准启动参数,不会按预期启动服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:06:07