如果您已设置域名密钥识别邮件 (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 记录包含正确的主机名/TXT 记录名称和 TXT 记录值/DKIM 密钥。请参阅将 DKIM 密钥添加到您的 网域。
成功设置后会是什么样?
创建 DKIM 记录、将 DKIM 记录添加到您的网域、修正所有身份验证错误并验证 DKIM 记录的值正确无误后,DKIM 状态应显示为“正在使用 DKIM 对电子邮件进行身份验证”。 您的设置已完成。
高级问题排查
- 检查邮件是否通过 DKIM 身份验证
- 在域名提供商处验证 DKIM 密钥
- 检查邮件转发
- 验证 TXT 记录字符数限制
- 检查 DKIM 签名的数量
- 检查您的电子邮件发送做法
- 如果有服务器拒绝带有 DKIM 签名的邮件,请与相应服务器的管理员联系
检查邮件是否通过 DKIM 身份验证
您可以在 Gmail 中查看电子邮件是否通过了 DKIM 身份验证。
推荐步骤:
- 在浏览器中打开 Gmail。
- 打开您要检查标头的电子邮件。
- 点击“回复”图标
旁边的“更多”图标
显示原始邮件。
- 系统会在新窗口中显示完整标头。
- 点击复制到剪贴板 。
其他步骤:
- 如果邮件未通过 DKIM 身份验证,请尝试向其他收件人(例如,个人 Gmail 邮箱)发送邮件。这有助于排除接收服务器的问题。
- 将邮件标头输入 Google 管理工具箱的 邮件标头 工具,然后检查 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 的商标。其他所有公司名和产品名是其各自相关公司的商标。