你已为域名启用 catch-all。现在,任何拼错、猜测或机器人生成的地址都会进入服务器。具体去向取决于你设置了 catch-all 邮箱,还是只启用了 catch-all 地址。很多人没有意识到这是两个独立组件。
地址是路由规则,邮箱是邮件存放处。混淆二者可能导致存储溢出、回复链中断,并在一个月内损害域名信誉。本指南解释二者的机制差异、SMTP 层工作方式,以及管理一个或五十个域名时的正确设置方法。
如果仍在考虑是否值得启用,请先阅读域名 catch-all 邮件完整指南。
什么是 Catch-all 邮箱,它与 Catch-all 地址有何不同?
Catch-all 邮箱是物理存储目标,即有登录凭据、存储配额和 IMAP 端点的真实收件箱。它保存 catch-all 地址接受的每封邮件。相比之下,catch-all 地址是虚拟路由策略,告诉服务器:“不要拒绝未知收件人,接受邮件。”它本身不存储内容,只负责开放入口。
可以把地址理解为允许陌生人进入大楼的决定,邮箱则是安置他们的房间。没有地址规则,未知邮件会在入口被退回。没有邮箱,已接受的邮件无处可去,服务器可能丢弃它,或将其放入能够找到的默认收件箱。
路由策略在 SMTP 层的工作方式
邮件到达时,Mail Transfer Agent 会在 SMTP 握手期间把收件人与已知用户目录核对。不同场景如下。
标准设置(无 catch-all):
SENDER: RCPT TO: <ghost@yourdomain.com>
YOUR SERVER: 550 5.1.1 User unknown
连接关闭,不传输数据,发件人立即知道该地址不存在。
已启用 Catch-all:
SENDER: RCPT TO: <ghost@yourdomain.com>
YOUR SERVER: 250 2.1.5 OK
服务器接受完整邮件,不在意“ghost”并非真实用户,因为路由策略覆盖了目录查询。
因此,在没有适当 catch-all 邮箱目标时启用 catch-all 存在风险。你相当于宣布接受域名下任何地址的邮件,包括垃圾邮件发送者在目录收集攻击中批量尝试的数千个常见前缀(admin@、invoice@、billing@、ceo@)。
Catch-all 邮箱的三种架构
Catch-all 地址接受邮件后,邮件必须进入某处。目标配置会影响成本、安全风险和日常流程。
方案 A:专用隔离邮箱
将所有流量路由到 catchall-store@domain.com 之类的专用邮箱。无人将其作为主收件箱,只需定期检查误投的正常邮件,其余内容留待处理。
优点:完全分离。真实用户不会看到垃圾邮件或机器人流量,可采用严格过滤而不影响业务邮件。
缺点:在 Google Workspace 或 Microsoft 365 等平台上,该邮箱需要完整用户许可,仅用于存放垃圾邮件也要每月 $6 到 $30。
方案 B:指向管理员收件箱的别名
将 catch-all 直接映射到管理员或 CEO 的主要收件箱。设置很快,日常使用却很糟糕。
一周内,有效信息与噪声的比例就会崩溃。客户拼错地址的邮件与机器人垃圾内容难以区分,告警疲劳随之出现。你会停止检查,最终错过 catch-all 本应挽救的邮件。
方案 C:接受后丢弃
在 SMTP 层接受邮件后立即删除。这样能节省存储,却带来严重风险:若服务器在接受之后生成退信,就会形成反向散射。服务器接受伪造发件人的垃圾邮件,再向无辜第三方发送 Non-Delivery Report,可能使 IP 很快进入黑名单。
规则:不想接收邮件时,应在边缘用 550 错误拒绝。不要用 250 接受后再退回。
并排比较:地址与邮箱
| 特性 | Catch-all 地址(策略) | Catch-all 邮箱(存储) |
|---|---|---|
| 功能 | 路由和验证 | 存储和访问 |
| 协议层 | SMTP RCPT TO | IMAP / 存储后端 |
| 形态 | 虚拟 / 基于规则 | 物理 / 基于数据库 |
| 成本 | 免费配置开关 | 通常需要付费席位 |
| 故障模式 | 开放中继 / 反向散射 | 超出配额 / 拒绝服务 |
| 出站身份 | 不适用,仅限接收的规则 | 以邮箱主地址回复 |
| 垃圾邮件风险 | 无差别接受所有内容 | 存储所有已接受内容 |
回复问题:出站身份为何失效
很多人很晚才发现这一缺口。Catch-all 邮箱可接收发送至任意变体的邮件,例如 partnerships@、billing-2024@、project-alpha@。但点击“回复”时,发件地址是邮箱实际登录身份:catchall@yourdomain.com,甚至是 admin@yourdomain.com。
潜在客户向 partnerships@yourdomain.com 发信,邮件进入 catch-all 邮箱。你回复后,对方看到“发件人:catchall@yourdomain.com”,专业形象随即受损。
要以 partnerships@ 回复,必须在邮箱上配置相应的邮件别名。这意味着每次有效对话仍需手动配置,违背 catch-all 的“动态”承诺。
主要提供商的处理方式
Microsoft 365
Microsoft 要求部分拆除现有安全设置。必须把域名设为“Internal Relay”,这会禁用 Directory-Based Edge Blocking。然后创建用于存储的 Shared Mailbox 和用于路由的 Transport Rule。若未维护真实用户的例外组,catch-all 逻辑可能截走本应发给他们的邮件。
Google Workspace
Google 将其放在 Apps > Gmail > Default Routing 下。你需为无法识别的收件人指定模式,并把信封收件人改为 catch-all 邮箱。映射到 Google Group 可省许可费,但无法正常回复;映射到用户则需为席位付费。
TrekMail
我们将流程设计得较为直接:在控制面板开启 catch-all,从下拉列表选择目标邮箱即可。不需要 PowerShell 或传输规则。Catch-all 邮箱使用共享存储,因此无需只为收集误投邮件增加席位。
- Nano 方案($0/月):自定义域名邮箱和基础邮件转发,无需信用卡。
- Starter($3.50/月):Catch-all 收件箱、多个别名、14 天免费试用。
- Pro($10/月):优先路由、扩大的存储池、14 天免费试用。
- Agency($23.25/月):多域名管理、批量创建别名、14 天免费试用。
合规风险:GDPR、HIPAA 与未经请求的数据
启用 catch-all 地址意味着收集随机发件人主动发送的个人数据。根据 GDPR 第 5(1)(c) 条,这可能带来数据最小化问题。HIPAA 场景风险更大:若患者拼错地址,将受保护健康信息发至 docter@hospital.com,catch-all 会接受。若 IT 人员能访问该 catch-all 邮箱,可能构成未经授权的披露和须报告的事件。
在数十万封垃圾邮件中查找某个人的数据,会让删除权请求几乎无法执行。若处理敏感信息,更安全的做法通常是关闭 catch-all,让 550 错误告知发件人地址有误。
Catch-all 邮箱真正适用的场景
Catch-all 并非总是错误,它适合以下具体情况:
- 新域名:尚不清楚人们会使用哪些地址,catch-all 可在最初几个月减少潜在客户流失。
- 收购与迁移:接管域名时,需要接收尚未映射地址的邮件。
- 拥有许多公开别名的小团队:使用别名而非独立邮箱时,catch-all 可填补缺口。
- 收集潜在客户:印刷材料或旧网页引用了从未正式创建的地址。
所有情况下,关键都是路由到专用且隔离的 catch-all 邮箱,而非主收件箱,并按计划检查。
设置检查清单
- 创建专用邮箱,例如
catchall@yourdomain.com,不要复用管理员收件箱。 - 在提供商设置中启用 catch-all 地址路由策略。
- 将其指向专用邮箱。不要指向群组,也不要指向 /dev/null。
- 设置存储配额。若邮箱填满后服务器开始退信,就会产生反向散射。
- 专门对 catch-all 邮箱采用严格垃圾邮件过滤。
- 安排每周检查。查找误投的正常邮件,并将真实地址升级为正式别名。
- 监控域名信誉。退信率上升或进入黑名单时,首先审查 catch-all。
配置 catch-all 前需要帮助设置自定义域名邮箱吗?该指南从头介绍 DNS、MX 记录和验证。
结论:将规则与存放处分开
Catch-all 地址是一项路由决定,即允许所有邮件进入。Catch-all 邮箱是最终存放处。启用地址却不保护邮箱,会形成存储隐患;保护邮箱却错误配置地址逻辑,则可能形成路由循环。
解决方法是将二者作为独立组件:设置策略、建立存储,并与业务邮件隔离。若希望自动处理 catch-all 开关、共享存储且不按席位收费,TrekMail Starter 以每月 $3.50 提供相关功能,并有 14 天免费试用。