问题描述
我收到了一封电子邮件(使用Office365),其中包含以下内容:
spf=pass
dkim=fail (body hash did not verify)
dmarc=pass action=none
compauth=pass reason=100
当DKIM失败时,Dmarc是否应该不会失败?
Authentication-Results: spf=pass (sender IP is 185.XXX.XXX.XXX)
smtp.mailfrom=xxxxx.com; yyyyy.com; dkim=fail (body hash did not verify)
header.d=xxxxx.com;yyyyy.com; dmarc=pass action=none
header.from=xxxxx.com;compauth=pass reason=100
Received-SPF: Pass (protection.outlook.com: domain of xxxxx.com designates
185.XXX.XXX.XXX as permitted sender) receiver=protection.outlook.com;
client-ip=185.XXX.XXX.XXX; helo=xxxxx.com;
Received: xxxxx.com (185.XXX.XXX.XXX) by
XXXXT057.mail.protection.outlook.com (10.152.5.104) with Microsoft SMTP
Server (version=TLS1_2,cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.3370.16 via Frontend Transport; Tue,15 Sep 2020 09:28:04 +0000
Received: from [10.244.53.49] (unkNown [62.xxx.xxx.xxx])
(Authenticated sender: [email protected])
by xxxxx.com (Postfix) with ESMTPSA id 958xxxxxx
for <[email protected]>; Tue,15 Sep 2020 09:27:59 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 xxxxx.com 95811831E7
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xxxxx.com;
s=default; t=1600162079;
bh=nuM3cWrinDLZjraJCy30WYG0ePetEpsDwkYbe7tHCOs=;
h=Date:Subject:From:To:From;
b=jJZ91ejcq4Tu3xV+PtcT1/pgwHbUXQRxFLbilFKFiYTnBi1Zn31vzAHbPe4o40HM0
gi+7F9TdBu47MhNwTFIvY94M+uSx1U4B9Ci9hTSDwEaDGazONyB8ER1fFmD7LPRMvV
oXdTEACywQrrYPPb15RkSUNg6m8+6AJjdMgDrRDU=
解决方法
简短答案:
否,仅当且仅当时,DMARC才会失败:
- SPF 或 SPF对齐失败,和
- DKIM 或 DKIM对齐失败
如果其中只有一个失败而另一个通过,则DMARC将通过。
有关DMARC故障和一般协议的更多详细信息:
从DMARC角度要牢记的一个重要细节是SPF或DKIM的失败可能意味着两件事:
- 基础SPF或DKIM 身份验证 失败,或
- 基础SPF或DKIM 对齐方式 已失败。
身份验证很明显,因为它与基础协议本身有关。
对齐方式是DMARC引入的一项附加功能,该功能检查用于SPF / DKIM身份验证的域是否与RFC5322的域部分对齐。来自域(域部分)发件人的电子邮件地址,例如senderxyz @ domain.com
)。
成功的SPF / DKIM对齐意味着这些域是相同的,或者SPF / DKIM域是RFC5321From域的子域。这分别称为 strict 或 relaxed 对齐方式,可以通过DMARC记录中的aspf
和adkim
标签进行控制。