以下是我最近收到的一封电子邮件:
Authentication-Results: mx.google.com;
spf=neutral;
dkim=pass header.i=@yahoo.com;
dmarc=pass (p=REJECT dis=NONE) header.from=yahoo.com
Run Code Online (Sandbox Code Playgroud)
我一直在阅读有关 SPF、DKIM 和 DMARC 的文章,但我没有找到有关 dis=NONE 含义的任何解释。“dis”未在DMARC 标签注册表中列出,那么它是在哪里定义的,它是什么意思?
我在 google 应用程序(免费旧版)上托管我的域的电子邮件(我们称之为 example.com)。我最近启用了 DMARC 报告,因此我现在收到了从我的域发送的电子邮件的每日报告。
我的问题是,有时我会从 google.com 收到关于从我的域发送的电子邮件的报告,其中 spf 和 dkim 的值为 pass。这意味着电子邮件实际上是从我的谷歌应用程序帐户发送和签名的,而不是冒充我帐户的人。但是,我无法在我的任何帐户的任何已发送邮件文件夹中找到这些已发送的电子邮件。
从谷歌安全页面检查 IP 日志并不表明任何可疑的 IP 活动。
google.com 邮件服务器有什么办法可以针对我没有发送的电子邮件向我发送 DMARC 报告?或者我是否有病毒可能会以某种方式从浏览器上的会话发送信息,然后将其从已发送邮件文件夹中删除?
我还应该提到,由于我没有从这个帐户发送太多电子邮件,因此这些报告不会每天都出现,当它们出现时,我通常可以将发送的电子邮件与报告进行匹配。今天虽然我不能,因为我没有从 gmail 发送任何电子邮件
今天的 DMARC 报告如下,我的域更改为 example.com。报告文件名为google.com!example.com!1452384000!1452470399.xml. 您会注意到一条指定从 amazonses.com 发送的电子邮件的记录。那封电子邮件是合法的,实际上是我发送的。但是 source_ip 为 2607:f8b0:4003:c06::248 的另一条记录不是我发送的。
谁能解释我所看到的?
<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
<report_metadata>
<org_name>google.com</org_name>
<email>noreply-dmarc-support@google.com</email>
<extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
<report_id>9818071788624937284</report_id>
<date_range>
<begin>1452384000</begin>
<end>1452470399</end>
</date_range>
</report_metadata>
<policy_published>
<domain>example.com</domain>
<adkim>r</adkim>
<aspf>r</aspf>
<p>none</p>
<sp>none</sp>
<pct>100</pct>
</policy_published>
<record>
<row>
<source_ip>54.240.6.222</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>example.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>example.com</domain>
<result>pass</result> …Run Code Online (Sandbox Code Playgroud) 从我的网络服务器发送到 Gmail 地址(From:地址为 )的几封电子邮件websitevisitor@gmail.com已被 Gmail 标记为垃圾邮件。该From:字段由表单数据填充,对应于访问者的实际电子邮件地址,通常是 Gmail 地址。将Return-Path:始终指向一个地址account@mywebserver.com,这意味着SPF和DKIM检查将正常工作。
当我检查 Gmail 帐户中的原始电子邮件时,我看到以下内容:
Delivered-To: webformrecipient@gmail.com
...
Return-Path: <account@mywebserver.com>
Received: from mywebserver.com (mywebserver.com. [my:ipv6:address])
by mx.google.com with ESMTPS id xxx
for <webformrecipient@gmail.com>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Tue, 02 Feb 2016 00:40:02 -0800 (PST)
Received-SPF: pass (google.com: domain of account@mywebserver.com designates my:ipv6:address as permitted sender) client-ip=xxx;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of account@mywebserver.com designates my:ipv6:address as permitted sender) smtp.mailfrom=account@mywebserver.com;
dkim=pass header.i=@mywebserver.com;
dmarc=fail (p=NONE dis=NONE) header.from=gmail.com …Run Code Online (Sandbox Code Playgroud) 我可以在一个 dmarc 记录中放入多少封电子邮件?以下是否无效,因为有三个 mailto 属性?我在网上看到的所有例子最多只有两个地址。
"v=DMARC1; p=reject; rua=mailto:pm@dom.com, mailto:dmarc@dom.com, mailto: ex@dom.com"
Run Code Online (Sandbox Code Playgroud) 如果我从我的网站(在私人服务器上)向 autoreply@dmarctest.org 发送邮件,我会收到以下报告:
<record>
<row>
<source_ip>x.x.x.x</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
</policy_evaluated>
</row>
<identifiers>
<header_from>mydomain.com</header_from>
</identifiers>
<auth_results>
<spf>
<domain>mydomain.com</domain>
<result>pass</result>
</spf>
<dkim>
<domain>mydomain.com</domain>
<result>pass</result>
</dkim>
</auth_results>
</record>
Run Code Online (Sandbox Code Playgroud)
identifiers/header_from AND auth_results/spf/domain 都是 mydomain.com,我的发件人(和返回路径)是 user@mydomain.com
单独的 SPF 测试还可以,但是 dmarc (policy_evaluate/spf) 失败了,我不明白为什么......
我的 DNS 记录 (SPF/DMARC):
"v=spf1 a mx include:mx.ovh.com -all"
"v=DMARC1\; p=reject\; sp=none\; rua=mailto:postmaster@mydomain.com\; rf=afrf\; pct=100\; ri=86400"
Run Code Online (Sandbox Code Playgroud) 大约 7 天前,我在https://www.mail-tester.com 上发现有时(我在几天内尝试了 50%)我公司的电子邮件未通过DMARC测试。正如它所说的那样,它不知道为什么,我现在很无助,也不太明白发生了什么。
我收到这条消息:
DMARC 测试失败,但我们没有找到任何明显的原因。如果您最近修改了 DNS,请等待几个小时,然后再次测试。
为域_dmarc.vlastimilburian.cz找到的 DMARC DNS 条目:
Run Code Online (Sandbox Code Playgroud)"v=DMARC1; p=reject; adkim=s; aspf=s"验证详情:
Run Code Online (Sandbox Code Playgroud)mail-tester.com; dkim=pass (1024-bit key; unprotected) header.d=vlastimilburian.cz header.i=@vlastimilburian.cz header.b=CefZgBpZ; dkim-atps=neutral
Run Code Online (Sandbox Code Playgroud)mail-tester.com; dmarc=none header.from=vlastimilburian.cz
Run Code Online (Sandbox Code Playgroud)mail-tester.com; dkim=pass (1024-bit key; unprotected) header.d=vlastimilburian.cz header.i=@vlastimilburian.cz header.b=CefZgBpZ; dkim-atps=neutral
Run Code Online (Sandbox Code Playgroud)From Domain: vlastimilburian.cz
Run Code Online (Sandbox Code Playgroud)DKIM Domain: vlastimilburian.cz
我有一个ProtonMail 高级计划,其中包含一个自定义域和一个电子邮件地址。我的域 DNS 受DNSSEC保护。
我也有 DKIM(域密钥识别邮件 - wiki)。
我的 SPF 记录是硬故障:
v=spf1 include:_spf.protonmail.ch mx -all
Run Code Online (Sandbox Code Playgroud)
我的一个客户电子邮件服务器有以下 DNS 条目:
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@example.com"
Run Code Online (Sandbox Code Playgroud)
这是我正在管理的唯一具有 DMARC DNS 条目的电子邮件服务器 - 在其他情况下,SPF 和 DKIM 始终足以使电子邮件服务器正常工作。
烦人的是,我每天都会收到来自 Gmail、Yahoo 等的多份 DMARC 报告,但我并不需要它们。我如何才能停止接收这些 DMARC 报告?
我应该删除ruaDNS 条目的一部分吗?
从我在 Rackspace Cloudways 附加组件中设置的所有 3 个电子邮件地址发送的电子邮件最终都会成为 GMail 中的垃圾邮件。
当我在 GMail 中“查看原始邮件”时,我看到...
SPF: NEUTRAL with IP 173.203.187.81
DMARC: 'FAIL'
Run Code Online (Sandbox Code Playgroud)
...其中 173.203.187.81 是 Rackspace 的 IP 地址。
我的 DNS 提供商是 CloudFlare。
设置了 DMARC 策略,如下......
_dmarc.boldstatements.com.au v=DMARC1; p=none; ruf=mailto:admin@mydomain.net; rua=mailto:admin@mydomain.net
Run Code Online (Sandbox Code Playgroud)
Cloudways 向我提供了此 DKIM TXT 记录...
20220817-maluhsjy._domainkey v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0PqtvPuYkElqS+b80iEj4aepAdf6n+CDXRFTG/1Q8RMdw/D6hNmQpv8FCTyIuplZt/qTxBbBFrPLJK5tp7bqkSEG2YpPSnHDCGihaOCsRkJP0aAbnuQRmjHq6H0yCwtJKjRhW7H4pbjx9/LA6dXIaw4N1emtSLWcGejVrhVZ+CwIDAQAB
Run Code Online (Sandbox Code Playgroud)
当我使用 dnschecker.org 和其他一些 DNS 查找工具来查看我的 TXT 记录时,我得到以下奇怪的输出......
\239\187\191v=spf1 a mx include:_spf.elasticemail.com include:emailsrvr.com -all
Run Code Online (Sandbox Code Playgroud)
这些字符\239\187\191肯定不在 CloudFlare 的 TXT 记录中。
CloudWays' support claims that these characters are causing the DMARC to fail, but since …
我有一份 DMARC 报告,其中包括:
<date_range>
<begin>1500249600</begin>
<end>1500335999</end>
</date_range>
Run Code Online (Sandbox Code Playgroud)
如何将日期转换为人类日期?
鼓励0365 邮件用户在其 SPF 记录中使用include:spf.protection.outlook.com -all。
我遵循了这个指导。我公司的 spf 记录说:
v=spf1 include:spf.protection.outlook.com -all
spf.protection.outlook.com 记录以 include:spfa.protection.outlook.com 结尾 -all 以 include:spfb.protection.outlook.com 结尾
其中每个都包含一组 CIDR,用于 Outlook.com 在发送电子邮件时使用的 IP。
但是,我从 google.com 收到了 DMARC 报告,表明某个 IP 的 SPF 失败,该 IP 实际上被 SPF 记录中的一个包含项所涵盖。我认为这是不正确的,但经常发生。
下面是一个例子:
source_ip>104.47.117.233</source_ip>
<count>1</count>
-<policy_evaluated>
<disposition>none</disposition>
<dkim>pass</dkim>
<spf>fail</spf>
Run Code Online (Sandbox Code Playgroud)
被拒绝的 ip 是 ip4:104.47.0.0/17 的一部分,它是 spfb.protection.outlook 记录的一部分:
spfb.protection.outlook.com。394 在 TXT "v=spf1 ip6:2a01:111:f400::/48 ip4:23.103.128.0/19 ip4:23.103.198.0/23 ip4:65.55.88.0/24 ip4:10.104.ip4 :10.04. 200.0/21 ip4:23.103.208.0/21 ip4:23.103.191.0/24 ip4:216.32.180.0/23 ip4:94.245.120.64/26 -all"
那么,为什么 Google 的电子邮件服务器会将此视为 SPF 失败?
这不是一个孤立的例子 - 我经常收到与 SPF 记录中包含的 …
dmarc ×10
email ×5
spf ×4
email-server ×3
dkim ×2
smtp ×2
cloudflare ×1
date ×1
formatting ×1
gmail ×1
google ×1
opendmarc ×1
timestamp ×1