BIMI DNS 记录:l= 和 a= 标签详解
BIMI TXT 记录语法完整技术参考,涵盖 l= 徽标标签和 a= 证书标签、支持的配置方式以及常见配置错误。
完整的 BIMI DNS 记录详解
BIMI(Brand Indicators for Message Identification,邮件识别品牌标识)DNS 记录是一条单独的 TXT 记录,用于告知支持该协议的邮件客户端在哪里获取您的品牌徽标,以及在需要时,获取证明您拥有该徽标的证书。语法必须完全正确,没有任何妥协的余地:任何一个格式错误的标签都会导致静默失败——没有退信、没有错误日志、也不会显示徽标。
本文将详细介绍 BIMI TXT 记录的每个组成部分、各标签的规则、三种标准记录配置方式,以及会导致徽标显示静默失败的常见配置错误。
前提条件
在发布 BIMI 记录之前,请确认以下条件已满足:
- DMARC 策略已设置为
p=quarantine或p=reject,且pct=100(或等效的强制执行级别)。 - 您的徽标文件采用 SVG Tiny P/S 格式,并托管在可公开访问的 HTTPS URL 上。
- 如果目标是 Gmail 或 Apple Mail,您需要拥有有效的 VMC(Verified Mark Certificate,验证标记证书)或 CMC(Common Mark Certificate,通用标记证书),以 PEM 格式托管在可公开访问的 HTTPS URL 上。
BIMI 记录结构
BIMI TXT 记录遵循以下通用语法:
v=BIMI1; l=<logo-url>; a=<certificate-url>
| 标签 | 名称 | 是否必需 | 说明 |
|-----|------|----------|-------------|
| v= | 版本 | 是 | 始终为 BIMI1。 |
| l= | 徽标 URL | 是 | 指向 SVG Tiny P/S 徽标文件的 HTTPS URL。 |
| a= | 权威证据 | 视情况而定 | 指向 PEM 格式 VMC 或 CMC 的 HTTPS URL。Gmail 和 Apple Mail 必需。 |
该记录以 DNS TXT 记录形式发布在以下子域名下:
default._bimi.<yourdomain.com>
注意: default 选择器是所有主流邮件客户端使用的标准选择器。规范支持自定义选择器,但目前接收方尚未广泛实现。
l= 标签:徽标 URL
功能说明
l= 标签提供接收邮件客户端获取品牌徽标的 URL。当邮件通过 DMARC 对齐验证时,客户端会获取此文件并将其与发件人名称一起显示。
要求
- 协议: 必须是
https://。HTTP URL 会被拒绝。 - 可访问性: URL 必须可公开访问——无需身份验证、无重定向、无地域限制。邮件服务器从其自身基础设施获取此 URL,而非通过浏览器。
- 文件格式: 文件必须符合 SVG Tiny P/S(Portable/Secure,便携/安全)规范,这是 SVG 1.2 Tiny 的一个受限子集。标准 SVG 文件即使在浏览器中能正常渲染,也无法通过验证。
- Content-Type 头: 服务器必须返回
image/svg+xml。 - 文件大小: 请将文件控制在 32 KB 以内。部分接收方有更严格的限制。
SVG Tiny P/S 主要限制
SVG Tiny P/S 禁止使用标准 SVG 文件中常见的以下元素和属性:
- 外部引用(
、指向文件外部的xlink:href) - 脚本(
) - 动画(
、) - 嵌入式位图图像
- 任意字体(仅支持系统字体,或将文本转换为路径)
重要提示: 一个有效的 SVG 文件如果不符合 SVG Tiny P/S 规范,在大多数客户端上会导致徽标显示静默失败。发布前请务必使用专门的 BIMI SVG 检查工具进行验证。
将 l= 设为空值
规范允许 l= 使用空值(l=;),以便在发布记录的同时明确选择退出某个域名的 BIMI 显示。这是一种边缘情况,用于子域名抑制场景。
a= 标签:权威证据(证书 URL)
功能说明
a= 标签指向 PEM 格式的 Mark Verifying Certificate(VMC,标记验证证书)或 Common Mark Certificate(CMC,通用标记证书)。该证书以加密方式将您的徽标与域名绑定,由认可的证书颁发机构(CA)签发。接收邮件客户端会获取此证书、验证证书链,并确认嵌入的徽标与 l= URL 匹配后才会显示标记。
要求
- 协议: 必须是
https://。HTTP URL 会被拒绝。 - 可访问性: 可公开访问,无需身份验证或重定向。
- 格式: PEM 编码的证书链(
.pem)。文件必须包含从终端实体证书到受信任根证书的完整链。 - 信任链: 证书必须链接到接收邮件提供商认可的受信任根 CA。自签名证书不被接受。
- 徽标哈希匹配:
l=处的 SVG 文件必须与证书中嵌入的徽标哈希匹配。更新徽标而不重新签发证书会导致显示失败。 - 有效性: 证书不得过期或被吊销。
VMC 与 CMC 对比
| 证书类型 | 全称 | 是否需要商标 | 签发机构 | |---|---|---|---| | VMC | Verified Mark Certificate | 是——需要注册商标 | DigiCert、Entrust | | CMC | Common Mark Certificate | 否——接受普通法商标 | DigiCert、Entrust |
CMC 取消了商标注册的要求,降低了准入门槛,使更广泛的组织能够使用带证书验证的 BIMI。
自声明记录与认证记录
自声明记录(仅 l=,无 a=)
自声明记录仅包含 l= 标签,不引用任何证书。
default._bimi.example.com. IN TXT "v=BIMI1; l=https:class="hl-cmt">//bimi.example.com/logo.svg;"
支持的客户端:
- Yahoo Mail / AOL Mail: 只要 DMARC 已强制执行,即可在无证书的情况下显示徽标。
- Fastmail: 支持自声明记录。
不支持的客户端:
- Gmail: 需要有效的 VMC 或 CMC。自声明记录会被忽略。
- Apple Mail: 需要有效的 VMC 或 CMC。自声明记录会被忽略。
- Microsoft Outlook (365): 使用其自有的类 BIMI 系统(目前原生不支持 BIMI)。
总结: 自声明记录是有效的起点,可在 Yahoo Mail 上实现价值,但无法在 Gmail 或 Apple Mail 上解锁徽标显示。
VMC 记录(验证标记证书)
当您拥有注册商标并已从认可的 CA 获取 VMC 时,请使用此配置。
default._bimi.example.com. IN TXT "v=BIMI1; l=https:class="hl-cmt">//bimi.example.com/logo.svg; a=https://bimi.example.com/vmc.pem;"
支持的客户端: Gmail、Yahoo Mail、Apple Mail、Fastmail 及所有其他支持 BIMI 的客户端。
CMC 记录(通用标记证书)
当您已获取 CMC 时,请使用此配置。DNS 记录语法与 VMC 记录完全相同——区别在于证书本身,而非 DNS 记录。
default._bimi.example.com. IN TXT "v=BIMI1; l=https:class="hl-cmt">//bimi.example.com/logo.svg; a=https://bimi.example.com/cmc.pem;"
支持的客户端: Gmail(自 CMC 支持上线起)、Yahoo Mail、Apple Mail、Fastmail。
注意: 请务必与目标邮件客户端确认当前的 CMC 支持状态,因为各提供商的上线时间表有所不同。
常见配置错误
1. a= URL 无效导致静默失败
这是最具破坏性的