最后......我们的电子邮件被雅虎看到了!不再那么垃圾了。欢呼!
但是我注意到雅虎!接收 MTA 添加 X-YMailISG 标头。它非常大... 2**10 位?
既然我已经在我醒着的生活中投入了太多时间来制作我们的电子邮件标头,我很想知道 X-YMailISG 标头是什么。有人可以告诉我吗?它会带来任何安全/真实性问题吗?谷歌结果几乎无法理解。
在为 SPF 和 DKIM 调整我们域的 DNS 区域文件中的 TXT 记录后,我终于成功地从 Yahoo! 不再标记为
X-YahooFilteredBulk 并且出色的服务 check-auth@verifier.port25.com 返回的结果显示电子邮件通过了 SPF、DKIM 和 Sender-ID 检查,并在 SpamAssassin 中显示为火腿。雅虎!甚至添加了 Received-SPF: pass 标头。
有用的链接:
http : //www.goldfisch.at/knowwiki/howtos/dkim-filter
http://old.openspf.org/wizard.html
根据Exim4 文档我有以下脚本:
#! /bin/bash --
ED="dkim_ed25519_$(date +'%Y%m%d')"
RSA="dkim_rsa_$(date +'%Y%m%d')"
## Generate private key
openssl genpkey -algorithm ed25519 -out "${ED}.private"
openssl genrsa -out "${RSA}.private" 2048
## Use private key to generate the public DNS TXT record:
## 20200701._domainkey.example.com IN TXT "k=[ed25519|rsa]; p=[pub_key_content]"
openssl pkey -in "${ED}.private" -pubout -outform DER | tail -c +13 | base64 > "${ED}.public"
openssl rsa -in "${RSA}.private" -pubout -outform PEM | sed '/^-----/d' | tr -d '\n' > "${RSA}.public"
Run Code Online (Sandbox Code Playgroud)
这会生成一对私钥+公钥。公共的有:
dkim_ed25519_20200701.public:
ICkF+6tTRKc8voK15Th4eTXMX3inp5jZwZSu4CH2FIc=
Run Code Online (Sandbox Code Playgroud)
dkim_rsa_20200701.public: …
我有一个通过 Mailchimp 和 Google 发送电子邮件的域。我已经为它们设置了 DKIM,并添加了 DMARC 记录(用于测试 atm)。我收集 DMARC 失败的报告,其中绝大多数报告都是 SPF 失败的。
根据我的理解,SPF 是可以发送电子邮件的 IP/主机的白名单,而 DKIM 是发件人必须用来签署电子邮件的密钥。对我来说,DKIM 似乎更适合欺骗保护。
在我搜索的所有地方,我都只看到 SPF 对于电子邮件保护至关重要,但在我的情况下我不明白为什么。由于设置了 DKIM,只有 Mailchimp 和 Google 可以发送电子邮件,并且 DMARC 将使收件人拒绝来自其他任何地方的电子邮件。限制 IP 地址似乎并没有给这种组合带来任何好处。
在这种情况下可以使用 +all 禁用 SPF 吗?如果我这样做,在什么情况下我会受到较少的保护?
如何在单个服务器上使用具有多个域名的 OpenDKIM?
我拥有 3 个域名,并且我有一台运行 postfix 的服务器来发送电子邮件。如何使用 OpenDKIM?
我可以对所有 3 个域名使用相同的密钥文件吗?我是否必须为每个域名创建一个 TXT 记录?
我有服务器“afspraakmanager.be”。它匹配所有不是垃圾邮件服务器的东西。(顺便说一下):它具有反向 dns、spf、dkim、...。但 hotmail 将其标记为垃圾邮件。
我认为问题在于 SPF/DKIM 记录。当我向我的 gmail 发送电子邮件时,它说:
"Received-SPF: neutral (google.com: 2a02:348:8e:6048::1 is neither permitted nor denied
by best guess record for domain of nick@afspraakmanager.be) client-ip=2a02:348:8e:6048::1;
Authentication-Results: mx.google.com;
spf=neutral (google.com: 2a02:348:8e:6048::1 is neither permitted nor denied by best
guess record for domain of nick@afspraakmanager.be) smtp.mail=nick@afspraakmanager.be;
dkim=neutral (bad format) header.i=@afspraakmanager.be"
Run Code Online (Sandbox Code Playgroud)
所以我想我的 SPF 和 DKIM 记录设置不正确。但我也不知道他们有什么问题。
这是区域文件:
; zone file for afspraakmanager.be
$ORIGIN afspraakmanager.be.
$TTL 3600
@ 86400 IN SOA ns1.eurodns.com. hostmaster.eurodns.com. (
2013102003 ; serial
86400 ; refresh
7200 ; …Run Code Online (Sandbox Code Playgroud) 我安装了 postfix、dovecot、opendkim 和 postsrsd。我试图将邮件从 alias@example.com 转发到 myemail@gmail.com,并让他们用 DKIM 签名。
我使用postrsd以便 SPF 记录通过转发的电子邮件。
但是,当我从 icloud 帐户向 alias@example.com 发送电子邮件时,该邮件会发送到我的 gmail 收件箱,但并未由 DKIM 签名。
这是我的日志的输出:
postfix/smtpd: connect from st11p01im-asmtp001.me.com[17.172.204.151]
postfix/smtpd: BC23640B53: client=st11p01im-asmtp001.me.com[17.172.204.151]
postsrsd: srs_forward: <myicloudemail@icloud.com> rewritten as <SRS0=zgyz=HT=icloud.com=myicloudemail@hostname.myemailserver.com>
postfix/cleanup: BC23640B53: message-id=<6fd8e885-4be1-4a37-983f-3d6f18f3b73a@me.com>
opendkim: BC23640B53: st11p01im-asmtp001.me.com [17.172.204.151] not internal
opendkim: BC23640B53: not authenticated
opendkim: BC23640B53: no signature data
Run Code Online (Sandbox Code Playgroud)
我查看了http://seasonofcode.com/posts/setting-up-dkim-and-srs-in-postfix.html并且我所有的配置文件似乎都是正确的。
从我在网上看到的情况来看,“非内部,未经过身份验证”消息意味着该域不存在于 中/etc/opendkim/TrustedHosts,但日志中列出的域 ( st11p01im-asmtp001.me.com ) 不是我的域。我相信me.com属于 Apple。
DKIM 是否无法使用 SRS 使用别名地址进行签名?
更新:
在 /etc/postfix/main.cf 中禁用了 postrsd,问题仍然存在。因此,问题不在于 postrsd,而在于 opendkim …
以下是我最近收到的一封电子邮件:
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) 我们计划使用 DKIM 电子邮件为多个域签名。
每个域都将有一个 CNAME 指向存储密钥的公共域中的 DNS 条目。如果每个域使用相同的密钥签名,但当然使用不同的域和选择器,它们都会创建独立的声誉吗?
如果一个域被标记为垃圾邮件发送者会影响其他域的传递能力吗?
它们完全不同并且使用不同的选择器。刚刚分享了钥匙。
我有一个自定义构建的 Web 应用程序,可以发送电子邮件。此应用程序由第三方托管。此应用程序通过他们的服务器发送电子邮件。我已经正确设置了我的 spf 记录。但是,当我的应用程序发送电子邮件时,电子邮件收到 dkim 错误。我不知道为什么会收到此错误。您将在下面找到来自 Web 应用程序发送的电子邮件的一些元数据。
Delivered-To: test@holyfirepublishing.com
Received: by 10.12.180.68 with SMTP id e4csp2649123qvf;
Sun, 29 Apr 2018 07:12:41 -0700 (PDT)
X-Google-Smtp-Source: AB8JxZqDmZKGZ3MCbLlo7r0rfpdjBif9w8/vsXHKXx/+L+F5udEeQiZt97ERlXIYvazAodyXmjLk
X-Received: by 2002:a6b:98b:: with SMTP id 11-v6mr9699820ioj.90.1525011161636;
Sun, 29 Apr 2018 07:12:41 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1525011161; cv=none;
d=google.com; s=arc-20160816;
b=K8ytU3THBqD8rUY0aBaOCbH2SVUlVeVEJJXoYt7Z53oQA3wdldhpYToHrqxOuDg8Jo
lcQ1xqTYrh30FICoyOoRd+quDkQK5z//xlU1DXn753I+Tmc6aBBStMUMN7m3cGGWPW2j
bTGBeAzFlx1PGYSE+aIzPLcdfXPl6vVpMtVfeKnHf6LrcK35D2wBbG9o88q1xTOCZ9Ue
1fKI32QX7UgcT0zSrO4kLD9z1pS0jcYwS9wnbtAt5uVes+AyDjHR7YdSoUjT0SO5KVEc
JFwIndndrLH5XznWwfHdUq7IrLnLech7FToqGPujqS/Pz0RxXDu96yzuwX54z+exrfjj
JXWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=mime-version:to:from:subject:date:message-id:dkim-signature
:arc-authentication-results;
bh=uxadBWIDOxAaWOKJN8YSOnay3lDpPAaxgWm82T/s9FI=;
b=qZ9xPSGu6SztmcnDRkioXDL3BZcyOhdxQjECf441oe/vaLCWzxHtEfBJlO4+zo8vBa
/mij7vCitF2NFsh/yjCLxz/ellSuFfnDBc6ydOJ97t6X2y5eGVFREEDtTCigwi1exeQa
4+nU/ls3wvXuiU1vJo96z5RjebxCDd7wkVLu6W/7EPA3C7PYRbTQbJi2egI8Hoc0KORw
h7JaAwTfB787wdXnFuD72JT36LL52EjtSPUc4w7785VH49yH4rZhBeAFMU0JfAhoAu+3
YJIO5XP2+rK0b/ksfy1U+DoFW81LW4+CmnG89CLYHddlDUGyz956RGUVoqI+VcHsZsYJ
8sRw==
ARC-Authentication-Results: i=1; mx.google.com;
dkim=temperror (no key for signature) header.i=@holyfirepublishing.com header.s=default header.b=EXFzVKU0; …Run Code Online (Sandbox Code Playgroud) dkim ×10
email ×5
spf ×4
email-server ×3
dmarc ×2
gmail ×2
postfix ×2
spam ×2
alias ×1
domain-name ×1
exim ×1
opendkim ×1
smtp ×1
txt-record ×1