子域名上的 BIMI:继承机制详解
了解 BIMI 记录如何在子域名间实现继承、何时需要为特定子域名单独配置、VMC 证书的覆盖范围,以及 DMARC sp= 策略对齐的关键作用。
子域名上的 BIMI:继承机制详解
为组织域名发布 BIMI 记录后,品牌标识会自动扩展到所有发送邮件的子域名——无需额外的 DNS 记录。深入理解继承模型、其限制条件以及与 DMARC 对齐的依赖关系,将帮助您在复杂的邮件发送基础设施中正确部署 BIMI。
BIMI 继承机制的工作原理
BIMI 继承遵循与 DMARC 相同的查找层级。当接收邮件服务器评估一封来自 marketing.example.com 的邮件时,它会按以下顺序查找 BIMI 记录:
default._bimi.marketing.example.com— 子域名专用记录default._bimi.example.com— 组织域名回退记录
如果子域名级别不存在记录,接收方会回退到组织域名记录。这意味着在 default._bimi.example.com 发布的单条 BIMI TXT 记录会自动覆盖所有子域名。
"组织域名"的定义
组织域名是指注册域名——即公共后缀下的直接部分。对于 mail.example.com 和 marketing.example.com,其组织域名都是 example.com。BIMI 继承始终向上解析到这一级别,而不会解析到中间层级的子域名。
为所有子域名发布单条 BIMI 记录
如果所有发送子域名使用相同的 Logo,只需一条 DNS 记录即可。
操作步骤:
- 确认您的组织域名已配置有效的 DMARC 策略(参见下方的子域名 DMARC 对齐要求)。
- 准备一个符合 SVG Tiny P/S 规范的正方形 SVG Logo。
- 将 SVG 托管在稳定、可公开访问的 HTTPS URL 上。
- 在组织域名发布单条 BIMI TXT 记录:
default._bimi.example.com TXT "v=BIMI1; l=https://brand.example.com/logo.svg; a=https://brand.example.com/cert.pem"
- 验证子域名级别不存在冲突的 BIMI 记录。
所有子域名——mail.example.com、marketing.example.com、transactional.example.com——现在都会自动继承此记录。
为特定子域名单独配置 BIMI
您可以通过在特定子域名的 _bimi 标签下直接发布单独的 BIMI TXT 记录来覆盖继承的记录。
需要单独配置的场景:
- 某子域名使用不同的品牌或产品 Logo。
- 某子域名需要不同的 验证标记证书 (VMC)。
- 您希望为特定子域名禁用 BIMI 显示(发布空记录)。
单独配置步骤:
- 确定需要使用不同 Logo 或证书的子域名。
- 发布子域名专用的 BIMI 记录:
default._bimi.marketing.example.com TXT "v=BIMI1; l=https://brand.example.com/marketing-logo.svg; a=https://brand.example.com/marketing-cert.pem"
- 对于从该子域名发送的邮件,子域名专用记录将完全优先于组织域名记录。
要禁用某子域名的 BIMI,请发布 l= 值为空的记录:
default._bimi.noreply.example.com TXT "v=BIMI1; l=;"
VMC 在子域名间的覆盖范围
验证标记证书 (VMC) 用于验证您的 Logo 真实性,主要邮箱服务商——包括 Gmail 和 Apple Mail——要求必须具备 VMC 才能显示带有验证标记的品牌标识。
单个 VMC 覆盖使用相同 Logo 的所有子域名
VMC 是针对特定的 Logo 文件(SVG 文件)颁发的,而非针对特定的域名或子域名。只要所有 BIMI 记录引用相同的 SVG 文件,单个 VMC 即可覆盖您的组织域名以及所有继承或明确引用该 Logo 的子域名。
您无需为每个子域名单独购买 VMC。
多个 Logo 需要多个 VMC
如果不同子域名显示不同的 Logo——例如,mail.example.com 使用母品牌 Logo,而 app.example.com 使用产品品牌 Logo——则每个不同的 Logo 都需要独立的 VMC。
| 场景 | 所需 VMC 数量 | |---|---| | 一个 Logo,一个或多个子域名 | 1 个 VMC | | 两个 Logo,分布在两个子域名 | 2 个 VMC | | 三个 Logo,分布在十个子域名 | 3 个 VMC |
决定因素始终是唯一 Logo 的数量,而非域名或子域名的数量。
子域名的 DMARC 对齐要求
除非发送的邮件通过 DMARC 验证,否则 BIMI 不会显示。对于子域名发件人,关键的 DMARC 配置是 sp= 标签——即子域名策略。
sp= 标签
组织域名 DMARC 记录中的 sp= 标签定义了应用于子域名邮件的策略。BIMI 要求策略为 quarantine 或 reject——none 策略不满足要求。
包含子域名策略的 DMARC 记录示例:
_dmarc.example.com TXT "v=DMARC1; p=reject; sp=reject; rua=mailto:[email protected]"
策略继承规则
| DMARC 记录 | 应用于子域名的策略 |
|---|---|
| p=reject; sp=reject | 子域名继承 reject ✅ |
| p=reject; sp=quarantine | 子域名使用 quarantine ✅ |
| p=reject; sp=none | 子域名使用 none — BIMI 不会显示 ❌ |
| p=reject(无 sp= 标签) | 子域名继承 p=reject ✅ |
| p=none(无 sp= 标签) | 子域名继承 none — BIMI 不会显示 ❌ |
重要提示: 如果省略sp=,子域名将继承p=的值。在依赖继承机制前,请确保p=已设置为quarantine或reject。
子域名专用 DMARC 记录
您也可以直接在子域名发布 DMARC 记录来覆盖继承的策略:
_dmarc.marketing.example.com TXT "v=DMARC1; p=reject; rua=mailto:[email protected]"
子域名级别的 DMARC 记录对该子域名完全优先于组织域名记录——与 BIMI 记录的继承和覆盖逻辑完全相同。
子域名 BIMI 常见错误
| 错误 | 结果 | 解决方法 |
|---|---|---|
| DMARC 中设置 sp=none | 所有子域名的 BIMI 被禁用 | 设置 sp=quarantine 或 sp=reject |
| 不必要地为每个子域名购买 VMC | 增加不必要的成本和复杂性 | 每个唯一 Logo 只需一个 VMC |
| 忘记为使用不同 Logo 的子域名单独配置 | 显示错误的 Logo | 发布子域名专用的 BIMI 记录 |
| 通过 HTTP 托管 SVG | 记录被忽略 | 仅通过 HTTPS 提供 SVG |
| 使用不合规的 SVG 格式 | Logo 被邮箱服务商拒绝 | 转换为 SVG Tiny P/S 格式 |
快速参考:子域名 BIMI 检查清单
- [ ] DMARC
p=