【干货】群晖 MailPlus Server 完美多域名配置指南:DDNS 与动态 IP 的进阶玩法

0. 背景说明

很多自建邮件服务器的朋友都会遇到两个痛点:

  1. 公网 IP 不固定:家用宽带 DDNS 虽能解决访问,但邮件解析(MX/SPF)需要稳定指向。
  2. 多域名托管:主域名在 Cloudflare,而 DDNS 域名在阿里云,如何让两者配合,实现 [email protected] 这种规范的邮箱地址?

本教程将以 Cloudflare (主域名)阿里云 (DDNS 中转域名) 配合为例,手把手教你跑通流程。

1. 核心架构图(逻辑梳理)

在开始前,请理解这个“套娃”逻辑:

  • 收信流:外部邮件 -> main-domain.org (MX) -> mail.ddns-domain.com (阿里云 A 记录) -> 你家最新的公网 IP -> 群晖。
  • 发信验证:对方服务器 -> 查询 main-domain.org (SPF) -> 引用 (include) ddns-domain.com 的授权 -> 匹配成功。

 

2. 第一阶段:阿里云(DDNS 中转域名)配置

假设你的阿里云域名为 ddns-domain.com,且已经通过脚本或群晖自带 DDNS 实现了 IP 自动更新。

你需要确保阿里云侧有以下记录:

  • A 记录:名称 mail,记录值 1.2.3.4 (你的动态 IP),用于 DDNS 同步。
  • MX 记录:名称 @,记录值 mail.ddns-domain.com,优先级 10
  • TXT 记录 (SPF):名称 @,记录值 v=spf1 mx -all

 

3. 第二阶段:Cloudflare(主域名)关键解析

这是实现 [email protected] 收发的关键。进入 Cloudflare 解析面板,按表操作:

类型名称 (Name)内容 (Content)代理状态 (Proxy)作用
MX@mail.ddns-domain.com仅 DNS核心:收信路由
TXT@v=spf1 mx include:ddns-domain.com -all仅 DNS核心:发信授权
CNAMEmailmail.ddns-domain.com仅 DNS (灰云)客户端连接地址
TXT_dmarcv=DMARC1; p=none;仅 DNS垃圾邮件防范协议

避坑指南

  1. 不要开橙色小云朵:Cloudflare 默认只代理 Web 流量,邮件协议(SMTP/IMAP)必须直连 IP,否则客户端会连不上。
  2. SPF 的 include 技巧:直接 include 已经跑通的阿里云域名,这样主域名会自动继承 DDNS 的 IP 授权。

 

4. 第三阶段:群晖 MailPlus Server 设置

  1. 添加域:进入 MailPlus Server > > 新增,填入你的主域名 main-domain.org
  2. 用户授权:在“用户”选项卡中,确保你的账号已关联该新域名。
  3. DKIM 签名
    • 在“域”设置中点击 编辑 > 常规 > 高级
    • 点击 生成公共密钥
    • 回到 Cloudflare,添加一条 TXT 记录,名称填 default._domainkey,内容贴入刚才生成的公钥字符串。

 

5. 常见问题排查 (FAQ)

  • Q:为什么邮件发不出去?
    • A:家用宽带通常封锁了 25 端口。如果连接超时,请在 MailPlus Server > 服务 > SMTP 中启用“SMTP 中继”,使用第三方服务(如阿里云邮件推送、腾讯企业邮等)进行转发。
  • Q:为什么 MX 记录要填阿里云的域名?
    • A:因为 Cloudflare 的域名不直接指向 IP。通过指向已做 DDNS 的阿里云子域名,可以实现“动态寻址”。

 

总结

这套配置最大的优点在于低维护成本。一旦阿里云的 DDNS 跑通,你在 Cloudflare 侧的设置几乎是一劳永逸的。

 

 


目录