要达到的效果,发送到 example.com 这个域包括所有子域(一级子域、二级子域)的所有邮件全都转发到指定的邮箱
需要有Exchange邮箱订阅
- 管理员后台添加邮箱域名,过程略,参考官方教程:将域添加到 Microsoft 365
- 域名DNS托管处设置相关的MX、TXT记录值,过程略,参考官方教程:添加 DNS 记录以连接你的域
- 将添加的域名从权威域切换为内部中继,过程略,参考官方教程:在 Exchange Online 中为子域启用邮件流
接下来是设置转发规则
先参考官方教程:在 Exchange Online 中管理邮件流规则,添加的规则因为是Catch-all,所以可以直接选择最下面的应用于所有邮件,又或者自行指定特定的域名

执行以下操作可以直接设置第2个选项转发邮件,也可以第4个选项添加抄送或密送收件人,自己喜欢

选择以下接收人

在输入框输入接收转发邮件的外部邮箱,点击确认,又或者从列表里选择内部邮箱,这样邮件会转发到内部该用户的Outlook邮箱,也可以2个都加上去,或者添加更多邮箱以让更多邮箱接收转发的邮件

接着点击下一步,参考官方教程:Exchange 管理中心中的新邮件流规则 UX,没有太多需求保持默认点击下一步并且确认即可
新创建的规则默认是关闭状态,记得打开

然后完全开启自动转发,打开 https://security.microsoft.com/antispam,设置出站垃圾邮件防护,默认的自动转发是由系统来决定,存在丢件可能,点击最下面编辑设置,然后将自动转发设置为打开,这个操作并不会马上生效,只要再次查看这个设置已经是打开状态而不是由系统决定就是设置成功

接着设置域名的MX记录、TXT记录泛解析,前面设置的只是根域名的记录,要接收子域名的邮件还需要设置子域名的MX记录,比如根域名的记录值是
example.com. IN MX 0 example-com.mail.protection.outlook.com.
example.com. IN TXT "v=spf1 include:spf.protection.outlook.com -all"
那么就设置泛解析为相同的记录值,只需要这2个记录值即可
*.example.com. IN MX 0 example-com.mail.protection.outlook.com.
*.example.com. IN TXT "v=spf1 include:spf.protection.outlook.com -all"
至此全部邮件 Catch-all 已经设置完成