如果您设置了域名密钥识别邮件 (DKIM),但从您网域发出的邮件仍然出现以下情况,请按照本文中的步骤操作:
- 未通过 DKIM 身份验证
- 遭到了邮件接收服务器的拒绝
- 发送到了收件人的“垃圾邮件”文件夹
本页内容
最常见的解决方案
确保您拥有 DKIM 记录
查看您是否拥有 DKIM 记录:
- 如果您未在使用 Google Workspace,请使用互联网上提供的工具。
- 如果您正在使用 Google Workspace,请按照本部分中的步骤操作。
-
在 Google 管理控制台中,依次点击“菜单”图标
应用
Google Workspace
Gmail。
需要拥有“Gmail 设置”管理员权限。
- 点击对电子邮件进行身份验证。
- 在所选网域菜单中,选择您要设置 DKIM 的网域。
- 如果 DNS 主机名和 TXT 记录值为空,则表示您没有 DKIM 记录。
如需创建新的 DKIM 记录,请参阅生成 DKIM 密钥对。然后,前往为网域添加 DKIM 记录(在本页面上)。
为网域添加 DKIM 记录
创建 DKIM 记录后,您必须将该记录(其中包含 DKIM 密钥)添加到您的网域。
建议采取的步骤
- 登录域名托管服务商网站。
- 前往用于更新域名 DNS TXT 记录的页面。
- 使用您的 DKIM 主机名和推荐值添加或更新 TXT 记录。
请参阅为您的网域添加 DKIM 密钥。
修正身份验证错误
如果您在创建 DKIM 记录并将其添加到网域后收到“未进行身份验证”错误,则需要完成设置。
建议执行的步骤:前往对电子邮件进行身份验证页面,然后点击启动身份验证。请参阅启用并验证 DKIM。
验证 DKIM 记录值
确保您的 DKIM 记录包含正确的主机名/TXT 记录名称和 TXT 记录值/DKIM 密钥。请参阅为网域添加 DKIM 密钥。
成功的标准是什么?
创建 DKIM 记录后,请将该记录添加到您的网域,修正所有身份验证错误,并验证您的 DKIM 记录是否包含正确的值。之后,您的 DKIM 状态应显示为“通过 DKIM 对电子邮件进行身份验证”。设置已完成。
高级问题排查
- 检查邮件是否通过 DKIM 身份验证
- 在域名提供商处验证 DKIM 密钥
- 检查邮件转发
- 验证 TXT 记录字符数限制
- 检查 DKIM 签名的数量
- 检查您的电子邮件发送做法
- 如果有服务器拒绝带有 DKIM 签名的邮件,请与相应服务器的管理员联系
检查邮件是否通过 DKIM 身份验证
您可以在 Gmail 中查看电子邮件是否通过了 DKIM 身份验证。
建议步骤:
- 在浏览器中打开 Gmail。
- 打开要查看其标头的电子邮件。
- 点击“回复”图标
旁边的“更多操作”图标
显示原始邮件。
- 系统会在新窗口中显示完整的标头。
- 点击复制到剪贴板。
其他步骤:
- 如果邮件未通过 DKIM 身份验证,请尝试向其他收件人(例如,个人 Gmail 邮箱)发送邮件。这有助于排除接收服务器的问题。
- 在 Google 管理员工具箱 Messageheader 工具中输入邮件标头,然后查看 DKIM 状态。
- 请参阅通过完整标头追踪电子邮件和检查 Gmail 邮件是否通过身份验证
在域名提供商处验证 DKIM 密钥
大多数 DKIM TXT 记录最多可包含 255 个字符。由于 TXT 记录存在 255 个字符的限制,您无法以单个文本字符串的形式输入 2048 位密钥。您的 DKIM 密钥可能会被截断,或者 DKIM 记录可能会以错乱顺序发送。
建议步骤:
- 如果您无法以单个文本字符串的形式输入整个 DKIM TXT 记录值,请按照验证 TXT 记录字符数限制中的步骤操作。
- 将提供商的 DKIM TXT 记录值与管理控制台中的值作比较,并验证 DKIM 密钥是否正确:
- 通过管理控制台获取 DKIM TXT 记录值,例如 google._domainkey。
- 前往 Google 管理员工具箱中的 Dig 工具。
- 点击 TXT。
- 输入您在第 1 步中获取的 DKIM TXT 记录值,接着输入一个句点 (.) 和您的域名。
- 将结果与管理控制台中的值作比较。如果结果已包含所有密钥字符且均按正确顺序排列,则 DKIM 密钥可以分成 2 个部分。
检查邮件转发
即使您网域的 DKIM 设置正确,转发的邮件也可能无法通过 DKIM 检查。这可能是邮件服务器转发邮件的方式所致。
适用于电子邮件发件人的推荐步骤:
- 确保邮件在传输过程中未遭更改。找到 Authentication-results: 标头。如果 dkim 条目旁边的文本是 body hash did not verify,则表示消息已在传输过程中被修改。
- 如果您使用出站网关,请确保它在发送外发邮件之前不会对其进行修改。例如,部分出站网关会在每封外发的消息底部添加页脚。这可能会导致 DKIM 失败,因为邮件内容在发送后发生了变化。
适用于电子邮件收件人的建议步骤:
- 使用电子邮件日志搜索来验证邮件是否曾经过转发。如果将邮件举报为垃圾邮件的用户并非原收件人,则邮件很可能经过了转发。
- 联系转发邮件的服务,了解他们能否更改转发邮件的方式。
另请参阅向 Gmail 转发电子邮件的最佳做法。
验证 TXT 记录字符数限制
如果您在输入 DKIM 值时出错,可能是因为您的域名提供商限制了 DNS TXT 记录中允许的字符数。
建议步骤:
如果您使用的是 2048 位 DKIM 密钥,则无法在 DNS 记录(255 个字符数限制)中以单个文本字符串的形式输入该密钥。而应按以下步骤操作:
- 将密钥字符拆分成多个文本字符串。
- 将每个字符串放在英文引号中。
- 在域名提供商的“TXT record Value”(TXT 记录值)字段中逐一输入字符串。
例如,您可以将一个长 DKIM 密钥拆分为两个文本字符串,并将每个字符串放在英文引号中:
"k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAraC3pqvqTkAfXhUn7Kn3JUNMwDkZ65ftwXH58anno/bElnTDAd/idk8kWpslrQIMsvVKAe+mvmBEnpXzJL+0LgTNVTQctUujyilWvcONRd/z37I34y6WUIbFn4ytkzkdoVmeTt32f5LxegfYP4P/"
"w7QGN1mOcnE2Qd5SKIZv3Ia1p9d6uCaVGI8brE/7zM5c/zMthVPE2WZKA28+QomQDH7ludLGhXGxpc7kZZCoB5lQiP0o07Ful33fcED73BS9Bt1SNhnrs5v7oq1pIab0LEtHsFHAZmGJDjybPA7OWWaV3L814r/JfU2NK1eNu9xYJwA8YW7WosL45CSkyp4QeQIDAQAB"
您也可以尝试:
- 生成 DKIM 密钥对时,选择使用 1024 位密钥。
- 请与您的域名托管服务商联系,以了解是否支持超出 255 个字符数的 TXT 记录。如果支持,您可以按照生成 DKIM 密钥对中的步骤,使用 2048 位 DKIM 密钥更新 DNS 记录。
我们建议您在域名提供商处添加的 TXT 记录不要超过 49 条,因为这是大多数域名提供商支持的数量上限。
检查 DKIM 签名的数量
邮件可以使用多个 DKIM 签名进行签名。不过,Gmail 只会检查 Authentication-Results: 邮件标头中列出的前 5 个签名。Gmail 会按照签名在标头中的显示顺序进行检查。如果身份验证签名不是标头中列出的前 5 个签名之一,则邮件将无法通过 DKIM 身份验证。这也可能会导致邮件无法通过 DMARC 检查。
如需验证 Gmail 针对任何邮件检查的签名,请查看邮件中的 Authentication-Results: 标头。如需了解检查 Gmail 邮件标头的详细步骤,请参阅通过完整标头追踪电子邮件。
检查您的电子邮件发送做法
如果 DKIM 设置正确,但邮件被发送到垃圾邮件文件夹,则可能是 DKIM 以外的原因所致。
建议步骤:
- 确保您向 Gmail 用户发送电子邮件时遵循了推荐的指南,特别是在发送大量电子邮件时。
如果有服务器拒绝带有 DKIM 签名的邮件,请与相应服务器的管理员联系
即使 DKIM 设置正确,邮件接收服务器仍可能会拒绝来自您网域的邮件,或将邮件发送至收件人的垃圾邮件文件夹。
建议步骤:
- 请与拒绝邮件的服务器的管理员联系。
- 设置 DMARC,以便接收关于 DKIM 身份验证结果的报告。请参阅设置 DMARC。
- 如果您使用 Google Workspace 以外的电子邮件系统设置 DKIM,请勿在外发邮件中使用 DKIM 长度标记 (l=)。使用此标记的邮件容易遭到滥用。如需了解详情,请参阅 RFC 6376 的第 8.2 节
Google、Google Workspace 以及相关标志和徽标是 Google LLC 的商标。其他所有公司名和产品名是其各自相关公司的商标。