你为 30 个客户域名维护一台邮件服务器。每个域名都需要自己的 MX、DKIM 密钥、SPF 记录、DMARC 策略、隔离区规则,以及发信信誉监测。问题不是一台服务器能不能处理这些业务,Postfix 和 Dovecot 已经这样运行了二十年。真正需要考虑的是:某个客户的营销邮件损害共享 IP 信誉时,整套系统能否妥善应对。
多域名邮件服务器适合不少运营团队。但如果只是认为自建一定比托管平台省钱,结果可能相反。本文介绍架构、帮助划分客户边界的配置、规模扩大后常见的三类隔离问题,以及自建与 TrekMail Agency 等托管方案的成本比较。配置片段并不完整,需按软件版本调整;价格和功能属于文中示例,并不保证目前仍然适用。
什么是多域名邮件服务器
多域名邮件服务器是在同一套基础设施上为多个域名收发邮件的系统。一个 Postfix 实例接收 client1.com、client2.com 和 client3.com 的邮件;一个 Dovecot 实例保存这三个域名的邮箱,并实施相应的访问控制;共用的出站队列发送邮件时使用各域名的 DKIM 签名。
这与商业宣传中的“多域名邮件托管”并不完全相同。后者通常指一个计费账户下可以添加多个域名的套餐。多域名服务器是支撑套餐的实际技术配置,包括 Postfix 和 Dovecot 如何处理这些域名。你可以在自己的 VPS 上运行,也可以选择 TrekMail Agency 之类的托管平台,由服务商维护底层多租户系统。
管理多个域名的三种架构
管理 10 个或更多域名时,常见的选择有三种。它们在费用、控制能力和运维复杂度之间作出不同取舍。选型既要看预算,也要看工程团队能投入多少时间。提前规划有助于避免两年后规模超出原方案时,被迫进行昂贵的架构重做。
方案 1:每个域名一台邮件服务器
最直观的方案是为每个客户域名单独部署 Postfix/Dovecot。客户不共用这一套邮件服务,但操作系统、虚拟化平台和管理权限仍可能带来共同风险。每个域名有自己的 VPS、IP 和信誉管理。对于 3-5 个独立且业务价值较高的域名,这可能合适。达到 20+ 个域名后,补丁、监控和证书续期等工作会随着服务器数量近乎线性增加。
方案 2:一套多租户、多域名邮件系统
这是不少代理服务商采用的模式:一个 Postfix + Dovecot 技术栈,通过 virtual_mailbox_domains、各域名的 DKIM 密钥以及 Dovecot 的客户边界配置处理全部域名。运营者维护一套基础设施,为 N 个域名提供服务。作为粗略参考,约 10 个域名时可能开始体现成本优势,约 200 个域名时复杂度可能明显上升。之后,有些团队转向托管平台,或按负载和信誉风险将域名分配到不同服务器。
方案 3:托管多租户服务,购买还是自建
自建多域名邮件可能需要大量工程投入,费用有时超过托管套餐。本文示例中的 TrekMail Agency 为每月 $29,按年付费时折合每月 $23.25,可管理 1,000 个域名,并提供 DKIM、SPF/DMARC 和出站队列管理。具体能力需要核实:按账户划分队列不等于每个域名拥有独立队列,也不意味着 IP 信誉独立。代理商不必维护 Postfix 配置,但仍要管理用户、DNS 和发信策略。应比较全年真正节省的工程工时与全年套餐费用;工程师一个小时的价格并不能单独决定盈亏平衡点。
Postfix + Dovecot:常见技术组合
在 2026 的自建方案中,常见组合是 Postfix 负责 SMTP 传输,Dovecot 负责 IMAP、邮件存储及 LMTP 投递。下列示例以 Debian 或 Ubuntu LTS 为前提。其他发行版也可采用类似思路,但文件路径、权限和配置指令必须按版本确认。
virtual_mailbox_domains 与映射表
Postfix 通过 virtual_mailbox_domains 支持虚拟域名。与其把所有域名直接写入 main.cf,不如使用 hash 映射表;规模更大时也可考虑 SQL 或 LDAP 后端:
# /etc/postfix/main.cf
virtual_mailbox_domains = hash:/etc/postfix/vhosts
virtual_mailbox_maps = hash:/etc/postfix/vmailbox
virtual_alias_maps = hash:/etc/postfix/valias
virtual_transport = lmtp:unix:private/dovecot-lmtp
/etc/postfix/vhosts 为每个接受邮件的域名保留一行,按 hash 表格式写入域名键和适当的值,并非只列出裸域名。/etc/postfix/vmailbox 用于查询虚拟收件人是否存在;采用这里的 LMTP 传输时,其值本身不决定最终邮箱路径,实际存储位置由 Dovecot 解析。/etc/postfix/valias 管理别名,例如 info@client1.com → real-person@client1.com。
Dovecot 按域名划分存储目录
Dovecot 可以把不同域名的邮箱放在各自目录中,常见结构为 /var/vmail/<domain>/<user>/。配置示例如下:
# /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:/var/vmail/%d/%n
mail_uid = vmail
mail_gid = vmail
%d 表示地址的域名部分,%n 表示本地部分。这样便于按客户备份或执行维护,例如用 rsync 处理单个客户目录。但目录划分并不自动构成安全隔离,还需检查文件权限、认证、授权和相关进程对存储的访问。
通过 LMTP 将邮件从 Postfix 交给 Dovecot
现代部署常用 LMTP,即 Local Mail Transfer Protocol,完成 Postfix 到 Dovecot 的交接。相比每封邮件都启动一次 dovecot-deliver,它可能减少进程开销,并可在正确配置后检查各收件人的配额。Dovecot 需要监听 Postfix 能够访问的 Unix 套接字,并设置合适的权限。
大规模管理各域名的 SPF、DKIM 和 DMARC
难点不只是邮件传输,还包括持续保持各客户 SPF、DKIM 和 DMARC 配置正确,以及按风险制定 DKIM 密钥管理策略。妥善轮换可以缩小密钥泄露的影响,却不能直接修复发信信誉。这些工作是自建运维成本的一部分,也说明托管平台为什么可能有价值。
各域名的 SPF
作为 SMTP 身份使用的域名,应通过相应 SPF 记录授权发信来源。记录位于 DNS,而不是邮件服务器。新增出站 IP 时,应检查受影响的身份和 SPF 机制;如果多个域名引用统一维护的 include,并不一定需要逐个修改客户记录。你仍需获得 DNS 管理权限或客户协助。详细步骤见我们的 SPF 配置指南。
各域名的 DKIM,以季度轮换为例
域名越多,DKIM 管理越费工。每个签名域名使用自己的密钥对:私钥签署出站邮件,公钥通过选择器发布到 DNS。按季度轮换是一种可选策略,并非普遍强制要求。需要先发布新选择器并验证可用性,在仍可能收到旧签名邮件期间保留旧公钥。按此计划,100 个域名一年需进行 400 次 DNS 更新,如果全部手工操作,工作量不小。DKIM 配置指南介绍了轮换流程。
大规模处理 DMARC 报告
DMARC 可为各域名请求聚合报告。许多参与的接收方会发送 XML 文件,通常按日汇总,但不是所有接收方都报告,也不保证相同频率。解析报告、归属到正确客户,并识别域名可能被冒用或某个发信系统配置错误等信号,可能成为独立的工程项目。DMARC 配置指南说明了相关分析。
需要防范的三类隔离问题
多域名服务器的可靠性取决于客户边界和共享资源管理。以下三类问题可能直到真实事故才暴露。应在设计审查和测试中提前寻找,而不是等到生产环境大面积投递异常时再排查。
问题 1:共享出站 IP 信誉受损
多个客户共用出站 IP 时,一个客户的低质量营销活动可能影响其他客户。地址名单质量差或发送未经同意的邮件,可能导致包括 Gmail 在内的接收方采取限速或封锁。为部分发信者分配不同 IP 可以降低某些连带风险,但需要足够发信量、逐步预热和持续监测。更换 IP 不能解决滥用,也不应成为绕过封锁的手段。独立 IP 同样不保证送达,域名信誉和发信行为仍很重要。
问题 2:共享队列拥塞
Postfix 队列增长时,例如某个客户大量收到 4xx 临时拒绝,其他客户可用的共享资源也可能减少。按目的地限速不能消除全局资源竞争。管理 50 个域名时,一次 500K 邮件的群发,可能让其他客户的事务邮件延迟数小时,具体取决于系统容量和控制策略。
问题 3:认证身份串用
如果 Dovecot 认证库没有一致地纳入域名,同名用户可能被错误匹配到另一客户:客户 A 的用户可能对应客户 B 的记录。整个认证链都要识别域名。将 auth_username_format 设为完整地址 %u,而非仅本地部分 %n,可以是解决措施之一。但一行设置不足以保证安全,数据库查询、用户名规范化、授权及邮箱访问都必须遵守相同边界。完整清单见多域名邮件托管风险。
自建服务器与托管服务
购买还是自建,取决于你的时间实际值多少钱。只算 VPS 和带宽,自建看似便宜;加入 Postfix 调优、黑名单申诉、DKIM 轮换和凌晨 3 点的投递事故,结论可能不同。下表是参考场景,不是通用门槛或正式报价。
| 域名数量 | 自建多域名邮件服务器 | 托管服务,TrekMail Agency | 参考建议 |
|---|---|---|---|
| 1-5 个域名 | 约 $10/月 VPS + 工程时间 | 示例固定 $29/月,年付折合 $23.25/月,或 Starter $4/月支持 50 个域名 | 若节省的时间超过差价,可优先考虑托管 |
| 5-50 个域名 | 约 $30/月 VPS + 10-20 小时/月工程工作 | Agency $29/月,自有底层设施维护为 0 小时/月,并非全部运营工作为零 | 若省下的工程时间价值高于套餐费用,可选择托管 |
| 50-500 个域名 | $100-300/月基础设施 + 1 名兼职邮件工程师 | Agency $29/月,自有底层维护仍为 0 小时/月,需核实容量与条件 | 若没有现有托管方案无法满足的控制需求,可考虑托管 |
| 500-5,000 个域名 | $500-2,000/月 + 1-2 名全职邮件工程师,以 FTE 计 | 示例 Agency $29/月 + Drive 扩展;此范围需核实域名上限、其他部署选项及邮件存储配额,不能仅靠存储扩展推定可用 | 混合部署:部分邮件使用托管,特殊客户需求使用自建 |
在这些假设下,低于 5,000 个域名时托管可能更划算,但仍要核实容量、合同条件和真正省下的工时。合规要求可能改变选择,例如数据必须实际存放在服务商未覆盖的司法辖区。混合部署可让特殊客户使用自有设施,而不必把全部客户迁到自建系统。
托管多租户平台可能提供什么
可以评估四项能力:按域名管理和记录 DKIM 轮换;SPF/DMARC 配置向导,并在 DNS 集成可用且获授权时发布记录;出站 IP 池预热及域名信誉跟踪;聚合 DMARC 报告分析。不同服务商并不一定都提供这些功能,覆盖范围也有差异。核实 TrekMail Agency 当前能力,保留 DNS 管理权限,并检查发布结果。购买服务可能免去自行开发这些工具的长期投入,但仍需审查发信来源和政策。
多域名托管服务比较
TrekMail、Migadu 和 Workspace 都可以纳入多域名选型,但并非市场上的全部选择。各家的模式不同。下表保留文章中的示例:50 个客户域名,每个约 10 个邮箱,总计 500 个邮箱。购买前必须核实价格、计费方式和管理边界。
| 服务商 | 示例计费模式 | 按域名轮换 DKIM | 出站队列边界 | 50 个域名 × 10 个邮箱的成本 |
|---|---|---|---|---|
| TrekMail Agency | 示例固定 $29/月,年付折合 $23.25/月 | 文中描述为按客户自动管理,范围需核实 | 按账户划分队列,共享 IP 池,不等于按域名自动隔离 | 按示例月价计算为 $348/年 |
| Migadu Max | 示例假设每域名 $90/年,实际计费模式需核实 | 比较中假设按域名手动轮换,功能需核实 | 比较中假设按套餐等级共享,条件需核实 | 在该假设下为 $4,500/年,即 50 × $90 |
| Google Workspace | 假设 $14/用户/月 | 按域名配置,需核实流程及套餐 | Google 共享发信池,由服务商实施控制 | 在该假设下为 $84,000/年,即 500 × $14 × 12 |
表中假设算出的差距,约为 Migadu 示例的 13× 和 Workspace 示例的 240×。这些是选定假设的算术结果,并非已经验证的当前市场价格比较,尤其不能据此确认 Migadu 的实际计费方式。固定收费与按单位收费在规模增长后可能差异很大,但还要评估功能和共享信誉风险。上述方案并不默认每个域名都有独立 IP;独立 IP 需要运营管理,也不保证送达。把独立客户域名放进同一个 Workspace 组织,也不会自动满足客户间管理权限和数据边界要求,域名验证及客户需求都要单独确认。
什么时候自建可能更合适
前面的示例经常偏向托管,但有三种情况可能值得承担自建运维成本。知道这些例外,与了解一般建议同样重要。
第一种是评估过的服务无法满足法规要求。如果某客户的数据必须实际保存在 TrekMail、Migadu 或所选云平台未覆盖的地区,可能需要自建,或寻找其他符合条件的供应商。常见做法是混合架构:特殊客户单独部署,其余客户继续托管。没有必要因为一个例外而重建整套平台。
第二种是现有方案不支持、且确实必要的独立 IP 或信誉管理需求。部分大规模订阅邮件或事务服务可能受益于 IP 分离,而不少多租户托管平台使用共享池。配置适当 IP 并严格预热的 VPS 可以是一种选择,但还需要收件人同意、滥用控制和持续监测。并不是所有要求独立 IP 的客户都真正需要它。
第三种是已经具备内部邮件工程能力。如果公司已有工程师负责其他邮件系统,增加多域名工作可能具有较低的边际成本。不过工时有上限,也有机会成本;工资已经列入预算,不代表新增运维免费。
多域名邮件服务器的安全加固
多域名服务器是高价值目标:攻击者获得足够权限后,可能影响多个客户的邮件流。以下列出实用控制措施,其效果取决于实施、监测和与整体架构一起进行的验证。
用户提交邮件应使用端口 587 加 STARTTLS,或端口 465 加隐式 TLS,并通过有效 TLS 连接完成认证,不应明文传输凭据或允许匿名 submission。端口 25 必须继续接收其他服务器的合法入站邮件,通常不需要用户认证。不能一概拒绝本地域名之间的邮件,应阻止未经授权的中继及绕过提交策略的行为。还应检查端口 25 是否被用作规避认证和限额的备用发信通道。
按客户限制发信速率可以减轻邮箱被盗后的损害,但不能保证在 20 分钟内保护 IP 信誉。应结合按邮箱每小时、按账户每天的限额,以及告警和及时处置。没有控制时,被盗密码可能使攻击者发送 100K 垃圾邮件,具体仍取决于系统资源。文章列举的 TrekMail 示例包括 Starter 每邮箱每天 1,000 封、每账户每天 6,000 封,以及 Nano 每小时通过 SMTP 提交 50 封。应核实当前数值和适用范围;限额是防护措施,不是杜绝滥用的保证。
管理访问应要求强密码和 2FA。邮箱的 2FA 也很重要,尤其当该邮箱能用于恢复其他账户时。普通 IMAP 可能需要应用专用密码或其他兼容机制,而非交互式验证。管理端 2FA 应得到重点保护,因为管理员权限覆盖面广,直接关系到客户边界。
多域名服务器运维检查清单
选择自建后,每日和每周运维与初始配置同样重要。Postfix 和 Dovecot 在适当维护下可以运行多年,但持续服务和邮件投递仍依赖运营纪律。以下清单只是起点,应按实际部署补充。
每日:监测队列深度和各客户出站量。某客户突然达到平时的 10×,可能是计划中的活动,也可能是账户被盗,两者都需要检查。通过 MX Toolbox 或类似工具检查出站 IP 黑名单状态。确认夜间 cron 工作正常完成,包括日志轮换、DMARC 报告接收和备份轮换。
每周:查看各域名可获得的聚合 DMARC 报告。客户采用新订阅邮件平台、支付服务或销售工具,都可能引入新发信者。检查其 SPF 授权、DKIM 签名和相关身份对齐。跟踪各客户存储增长;邮箱超过 30 GB 时,可能需要归档或调整容量,具体看套餐。检查 Dovecot 的客户 IMAP 连接计数,接近限额可能导致间歇性同步失败和支持工单。
每季度:如果采用季度策略,轮换各域名的 DKIM 密钥。示例流程是发布新选择器,等待 48 小时,切换 Postfix 签名,再保留旧选择器 48 小时。这些时间窗本身并不保证安全切换;还需核实 TTL、缓存、发布状态,以及仍在途的旧签名邮件。对 100 个域名,文章估算每季度 8-12 小时,约每年 40 小时。工时只是参考;TrekMail Agency 等托管平台的自动化范围和运行结果也要核实、监测。
每年:审查 SMTP 和 IMAP 的 SSL/TLS 证书续期机制,实际连接应采用现代 TLS 而非过时的 SSL 协议,但不能等到年度审查才实际续期。文中以 Let's Encrypt 的 90 天证书和自动续期为例;实际有效期与自动化机制需确认并持续监测。将一个客户的邮件恢复到全新 Dovecot 实例,以验证备份可恢复性,并审计认证后端。清理陈旧记录,特别是域名已从 Postfix 删除、用户却仍可认证的情况。
下一步
多域名邮件服务器使用成熟技术,但日常运营可能相当费时。按域名管理 DKIM 和分析 DMARC,根据规模和自动化程度,可能占用每年数周。托管服务如果能减轻这些工作,值得评估;最终仍应按实际成本、要求和容量决定。
本文场景中的 TrekMail Agency 为每月 $29,年付折合每月 $23.25,可管理 1,000 个域名 × 每域名 1,000 个邮箱,邮件与 TrekMail Drive 共用 200 GB 存储。文中还描述了域名 DKIM 轮换、Sieve 编辑器、专门支持、每邮箱 100 个别名,以及用一个 CSV 导入 50 个域名。该场景下的 14 天试用需要信用卡;免费 Nano 无需信用卡、不是限时试用,支持 10 个域名 × 每域名 10 个邮箱。请核实当前价格、功能、资格条件和配额,以及 Drive 扩展是否及如何影响邮件存储。风险详情见我们的多域名邮件托管指南。当前套餐和价格见 trekmail.net/pricing。