电子邮件认证基础知识的各章节

<spf> declare your smtp servers

SPF 标志

SPF 详解

SPF 是“发件人策略框架”(Sender Policy Framework)的缩写,这是一种电子邮件认证标准,
它允许您声明哪些 SMTP 服务器被授权代表您的域名发送电子邮件。

它允许您确认发件人的地址及其与发送该邮件的服务器之间的关联。
如果邮件是使用您的发件人域名发送的,收件人可以确认该邮件是否来自您认可的某台 SMTP 服务器。

建议进行配置,因为如果完全未设置 SPF,部分收件人可能会拒收您的邮件。


如何让防晒霜发挥作用

有两种不同的方法:

  • 一个“软”检查(~all 标签),如果消息是由未声明的服务器发送的,则会触发“软失败”错误
  • 一个“严格”的规则(-all 标签),如果消息是由未声明的服务器发送的,则会触发“失败”错误

“软”配置会减少或完全避免收件人拒收邮件的情况。
“硬”配置则会导致部分邮件被拒收,例如当服务器未被声明时,或者在某些情况下邮件被重定向或通过邮件列表发送时。

“严格”配置为目标邮件服务器提供了更大的自主权来决定是否接受该邮件,这是我们建议的做法。


如何配置 SPF

配置 SPF 需要准确了解您用于发送电子邮件的具体服务器。

使用 RealSender 时,您的域名(example.com)的 TXT 记录应包含字符串
a:example.realsender.com 并呈现如下形式:

example.com   TXT   "v=spf1 a:example.realsender.com ~all" 

使用 HighSender 时,您的域名(example.com)的 TXT 记录应包含字符串
include:spf.realsender.com 并呈现如下形式:

example.com   TXT   "v=spf1 include:spf.realsender.com ~all" 

以下工具可帮助您验证配置:
www.kitterman.com/spf/validate.html *
检索指定域名的 SPF 记录,并判断该记录是否有效
在线 SPF 检查
通过发送电子邮件来验证您的电子邮件 SPF 设置

* = 外部网站链接,将在新页面中打开


SPF的缺点

即使所有设置都正确,如果邮件已被重定向(转发)或通过邮件列表发送,消息验证仍可能失败

In these cases, to keep the email authentication consistent,
configure the dkim signature domain to be aligned with the sender’s From address.
See: email authentication advanced » <dkim> alignment for dmarc.



<spf> check online

<spf> check online

SPF 标志

  1. 发送电子邮件至:
spf@tester.realsender.com
  1. 在线查看 SPF 验证结果:
    (页面加载需一分钟)
https://tester.realsender.com/spf

如果邮件未通过正确认证,RealSender 在线 SPF 检查会添加一个主题前缀:

!! spf-fail !!       该 SMTP 服务器未列入授权服务器列表
                      因此应拒绝或丢弃该邮件
!! spf-softfail !!   该 SMTP 服务器未列入授权服务器列表
                      但此情况应视为“软失败”  
!! spf-neutral !!    SPF 记录明确指出无法判断其有效性  
!! spf-none !!       发件人域名中不包含用于验证该邮件的信息  

有时在域级别记录的信息不正确或难以理解。

!! spf-permerror !!  发生永久性错误(例如:SPF 记录格式错误)  
!! spf-temperror !!  发生临时性错误

SPF 验证是针对隐藏在邮件头中的“Mail-From”邮箱地址进行的。
只有“From”邮箱地址是可见的。如果它们的根域名不同,则会显示以下警告:

!! spf-diff !!       “Mail-From” 和 “From” 的根域名不同

如果该邮件同时通过了 SPF验证和DMARC 的 SPF 对齐验证(宽松对齐),您将收到:

|OK| spf-pass        您的电子邮件通过了 SPF 验证和 SPF 对齐验证

如果 SPFDKIM 中仅有一项通过 DMARC 的对齐检查(宽松对齐),
该邮件仍被视为“OK”(可信),并在开头添加 ~(波浪号)符号:

|~OK| spf-pass       您的电子邮件通过了 SPF 验证(但未通过对齐验证)+ DKIM 对齐验证

<dkim> seal the email content

DKIM 标志

DKIM 详解

DKIM 是 DomainKeys Identified Mail 的缩写,这是一种电子邮件认证标准,
旨在确保电子邮件(包括附件)自添加“签名”以来未被篡改。

它通过在每封外发电子邮件中附加一个与域名关联的数字签名来实现这一点。

使用两把密钥:一把“公钥”和一把“私钥”:

  1. 该“公钥”发布在签名域名的 TXT 记录中
  2. “私有”密钥保存在 SMTP 服务器中,用于对电子邮件进行“签名”

在发送邮件时,SMTP 服务器会根据邮件内容和私钥生成一个“加密哈希签名”。

接收方系统可以通过将邮件头中的签名与邮件内容及发件人的“公钥”进行比对,来验证该签名。


如何让 DKIM 正常工作

DKIM签名对最终用户而言是不可见的,它们由电子邮件基础设施添加并验证。

RealSender 的 SMTP 服务器会使用 DKIM 签名对所有外发电子邮件进行签名。


如何配置 DKIM

RealSender 会自动使用其连接到 SMTP 服务器的自有域名(
)对所有外发邮件进行签名, 用户或管理员无需进行任何设置。

要获得“用于 DMARC 的 DKIM 域对齐”,
该邮件必须使用与发件人相同的域进行签名。

使用 RealSender 时,您需要在域名(example.com)的 DNS 设置中添加两条 CNAME 记录
, 具体如下:

key1._domainkey.example.com   CNAME   key1._domainkey.yourcompany.realsender.com
key2._domainkey.example.com   CNAME   key2._domainkey.yourcompany.realsender.com

此工具可帮助您验证配置:
toolbox.googleapps.com*

* = 外部网站链接,将在新页面中打开


DKIM 的缺点

经过 DKIM 签名的邮件无法被修改,但任何人都可以阅读。

如果签名消息无法通过验证,通常会被拒绝。
如果从发送方到接收方的传输过程中未发生任何更改,这种情况本不应发生。

我们遇到过极少数此类情况,均与行长度有关(行长度必须不超过 990 个字符)。
某些应用程序会将内容全部放在一行中发送,或在 HTML 中传输非常长的行。
在这种情况下,DKIM 签名会损坏,导致检查结果显示为“dkim=fail”。



<dkim> check online

<dkim> check online

DKIM 标志

  1. 发送电子邮件至:
dkim@tester.realsender.com
  1. 在线查看 DKIM 验证结果:
    (页面加载需一分钟)
https://tester.realsender.com/dkim

如果邮件未正确签名,RealSender DKIM 在线检查会添加一个主题前缀:

!! dkim-none !!      未找到任何 DKIM-Signature 标头(无论有效与否)  
!! dkim-fail !!      找到了有效的 DKIM-Signature 标头,但签名 
                      中包含的值与该邮件不符  

有时无法执行该检查:

!! dkim-invalid !!   签名本身或公钥记录存在问题。
                      即无法处理该签名
!! dkim-temperror !! 发现某些错误,这些错误通常是暂时的,
                      例如暂时无法检索公钥

当邮件使用不同的域名进行签名时,主题中将添加“diff”提示。
如果发件人通过了 SPF 验证且符合 DMARC 的 SPF 对齐要求,则不会显示此警告:

!! dkim-diff !!      该邮件未由发件人域名进行签名

如果该邮件同时通过了 DKIM验证和DMARC 的 DKIM 对齐验证(宽松对齐),您将看到:

|OK| dkim-pass        您的电子邮件通过了 DKIM 验证 + DKIM 对齐验证

如果仅有一个(DKIMSPF)通过了 DMARC 的对齐检查(宽松对齐),
该邮件仍被视为“OK”(可信),并在开头添加 ~(波浪号)符号:

|~OK| dkim-pass       您的电子邮件通过了 DKIM 验证(未通过对齐验证)+ SPF 对齐验证