了解DKIM
DomainKeys Identified Mail或DKIM是一项技术标准,可帮助保护电子邮件发件人和收件人免遭SPAM,欺骗和网络钓鱼的侵害。它是电子邮件身份验证的一种形式, 它允许组织以收件人可以验证的方式声明对消息的责任。
具体来说,它使用一种称为“公钥加密”的方法来验证是否从授权的邮件服务器发送了电子邮件,以便检测伪造并防止诸如SPAM之类的有害电子邮件的传递。它补充了用于发送电子邮件的基本协议SMTP,因为它本身不包含任何身份验证机制。
它是如何工作的?
通过将数字签名添加到电子邮件标题中来工作。可以根据组织的域名系统(DNS)记录中的公共加密密钥来验证该签名。一般而言,该过程如下:
域所有者将加密公共密钥作为特殊格式的TXT记录发布在域的总体DNS记录中。
当出站邮件服务器发送邮件时,服务器将生成唯一的DKIM签名标头并将其附加到邮件。此标头包含两个加密哈希,一个是指定的标头,另一个是消息正文(或消息正文的一部分)。标头包含有关签名生成方式的信息。
入站邮件服务器收到入站电子邮件时,将在DNS中查找发件人的公共DKIM密钥。入站服务器使用此密钥解密签名并将其与新计算的版本进行比较。如果两个值匹配,则可以证明消息是真实的,并且在传输中未更改。
什么是DKIM签名?
DKIM签名是添加到电子邮件的标头。标头包含允许接收邮件服务器通过查找发件人的DKIM密钥并使用它来验证加密签名来验证电子邮件的值。看起来像这样:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=sparkpost.com; s=google;
h=from:content-transfer-encoding:subject:message-id:date:to:mime-version;
bh=ZkwViLQ8B7I9vFIen3+/FXErUuKv33PmCuZAwpemGco=;
b=kF31DkXsbP5bMGzOwivNE4fmMKX5W2/Yq0YqXD4Og1fPT6ViqB35uLxLGGhHv2lqXBWwFhODPVPauUXxRYEpMsuisdU5TgYmbwSJYYrFLFj5ZWTZ7VGgg6/nI1hoPWbzDaL9qh
DKIM签名标头包含许多信息,因为它旨在进行自动处理。如您在本示例中所见,标题包含一个tag = value部分的列表。值得注意的标签包括“ d =”(用于签名域),“ b =”(用于实际数字签名)和“ bh =”(用于哈希),可以通过使用发件人的公钥重新计算来验证哈希。
签名从消息到消息的定义是唯一的,但是这些基本元素将出现在每个DKIM签名标头中。
它与SPF,DMARC或其他标准有什么关系?
DKIM,SPF和DMARC都是支持电子邮件身份验证不同方面的标准。他们解决补充问题。
- SPF 允许发件人定义允许哪个IP地址发送特定域的邮件。
- DKIM提供了一个加密密钥和数字签名,可以验证电子邮件是否未被伪造或更改。
- DMARC将SPF和DKIM身份验证机制统一为一个通用框架,并允许域所有者声明在授权测试失败时如何处理来自该域的电子邮件。
我需要DKIM吗?
如果您是发送商业或交易电子邮件的企业,则肯定需要实施一种或多种形式的 电子邮件身份 验证,以验证电子邮件确实来自您或您的企业。正确配置电子邮件身份验证标准是您可以用来提高可传递性的最重要步骤之一。然而,仅此而已。SparkPost和其他电子邮件专家建议也实施SPF和DMARC,以定义更完整的电子邮件身份验证策略。
SparkPost是否支持它?
是。SparkPost实施并遵守包括DKIM在内的电子邮件身份验证标准。实际上,我们交付给用户的所有电子邮件都必须经过验证。设置新的SparkPost帐户时,配置它是验证发送域的重要步骤。
如何验证我的设置?
SparkPost的Validator是我们为开发人员提供的免费电子邮件工具的一部分。这是验证邮件是否具有有效的DKIM签名的最简单方法。
在SparkPost支持中心获得有关DKIM的帮助
在SparkPost支持中心中了解有关如何通过SparkPost服务配置和使用DKIM的更多信息 。
- 通过域名提供商设置SPF和DKIM。如何配置在各种DNS托管提供商处支持电子邮件身份验证的记录的方法。
- 为什么我们发送任何内容需要配置SPF和DKIM? 很好地解释了为什么SparkPost要求我们传递的所有电子邮件都使用SPF或DKIM之类的标准进行身份验证。
- 对SPF和DKIM验证进行故障排除。确保正确传播与电子邮件身份验证相关的DNS记录的提示。