我已经在我的邮件服务器上设置了 dkim-filter。我已经设置了 postfix 来使用 dkim-filter 作为 milter;但是,我在日志中收到以下信息:
Jul 7 13:00:29 magni postfix/smtpd[6742]: connect from mail-vw0-f53.google.com[209.85.212.53]
Jul 7 13:00:29 magni postfix/smtpd[6742]: D0F802BC74: client=mail-vw0-f53.google.com[209.85.212.53]
Jul 7 13:00:29 magni postfix/cleanup[6756]: D0F802BC74: message-id=<....-....mail.gmail.com>
Jul 7 13:00:34 magni dkim-filter[7039]: D0F802BC74: key retrieval failed
Run Code Online (Sandbox Code Playgroud)
为什么我会得到它,我怎样才能阻止它发生?
我按照文档在 Exim 中配置了 DKIM 用于发送邮件。Exim 签署所有外发邮件。但由于用户的.forward文件,其中一些传出的消息会被转发。这对我来说是一个问题,因为其中一些转发是垃圾邮件(我的 exim 配置不进行任何验证),我不想对它们承担责任。但我不知道如何配置 Exim 不签署这些消息。
我的配置基本上是 Debian Squeeze 默认配置,设置了一些DKIM_*宏。我可以发布更多详细信息,但我认为看到任何有条件 DKIM 签名的示例都会让我正确。
我为我的域之一设置了 Google Apps 帐户。在此域上为所有电子邮件启用通配符电子邮件传递(即,anything@domain.com 将电子邮件传递到 myemail@domain.com),并且与电子邮件传递相关的记录配置如下(据我所知,配置谷歌的建议):
MX: ASPMX.L.GOOGLE.COM with priority 10
TXT: v=spf1 include:_spf.google.com ~all
TXT: v=DKIM1; k=rsa; p=xxxxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
然而,最近我开始收到越来越多的退回/“不在办公室”电子邮件,这些人显然是使用我域中的电子邮件地址向人们发送垃圾邮件。从反弹,一些标题:
Return-Path: <0379E403@domain.com>
Received-SPF: softfail (google.com: domain of transitioning
0379E403@domain.com does not designate 41.230.231.130
as permitted sender) client-ip=41.230.231.130;
Authentication-Results: gmr-mx.google.com; spf=softfail (google.com:
domain of transitioning 0379E403@domain.com does not designate
41.230.231.130 as permitted sender) smtp.mail=0379E403@domain.com
From: "Secure.Message" <0379E403@domain.com>
To: <unfortunate_person@gmail.com>
Run Code Online (Sandbox Code Playgroud)
(如果需要,我可以提供额外的标题。)
我查看了软故障,但不完全确定我理解它。我向域发送通配符电子邮件,因此简单地禁用通配符可能不是解决方案。因为发送到该域的电子邮件随后会被转发到不同的电子邮件地址(不过也在 Google Apps 中),所以我最好还需要能够使用 Google 的“发送电子邮件为”(“代表”)功能发送电子邮件。
现在有什么想法吗?最重要的是,我担心我的域名的声誉;我非常希望将它排除在任何垃圾邮件列表之外。
我根据本教程使用 milter 设置了 postfix:https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
但后来 posptfix 报告它无法连接到该套接字上的 milter
我将 postfix 中的套接字更改main.cf为:
smtpd_milters = /var/run/opendkim/opendkim.sock
non_smtpd_milters = /var/run/opendkim/opendkim.sock
Run Code Online (Sandbox Code Playgroud)
并打开dkim /etc/default/opendkim:
SOCKET="local:/var/run/opendkim/opendkim.sock" # default
Run Code Online (Sandbox Code Playgroud)
现在我收到以下警告,并且我的邮件未签名:
Oct 28 18:45:12 localhost postfix/cleanup[22881]: warning: Milter service needs transport:endpoint instead of "/var/run/opendkim/opendkim.sock"
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我可以简单地更改 DKIM(DNS TXT 记录)中使用的 RSA 密钥而不更改 DKIM 选择器,否则会导致任何问题吗?
如果不是,那么 DKIM 选择器的目的是什么?
顺便说一句:20120113是我正在谈论的选择器20120113._domainkey.gmail.com
我正在开发一个具有长域名(25 个字符)的客户端站点。设置 AWS SES 时,我无法更新 DNS 提供商上的 CNAME DKIM 记录,因为名称字段允许的最大长度为 63 个字符(根据 DNS 规范)。
AWS SES 生成名称字段包含 69 个字符的 CNAME 记录 (XXX._domainkey.DOMAIN-NAME.COM)。更复杂的是,客户想要一个子域电子邮件帐户设置,这将使长度达到 75 个字符。
以前有人遇到过这个吗?有解决方法吗?需要明确的是,我不是在谈论 CNAME 值(我理解可以用引号将其分开)。我说的是 CNAME 名称字段本身。
由我的域发送的邮件将始终经过 DKIM 签名,收件人应立即丢弃任何未签名的邮件。但是严格的 SPF 实施会导致内部邮件转发规则和其他类型的实施细节导致虚假破坏的问题。什么是 SPF、DKIM 和 DMARC 记录的适当组合,以导致接收系统将 DKIM 故障视为绝对的“停止发送,它肯定是垃圾邮件”,但 SPF 只是一个提示?
我正在使用 AWS SES(沙盒模式)向 GMail 地址发送电子邮件。不幸的是,它被标记为垃圾邮件。
谷歌很好地在消息细节中告诉我这是一个 DMARC 失败
我阅读了官方文档:https : //docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-authentication-dmarc.html
这让我感到困惑(来自该页面的引用):
我的问题是,为什么 SPF 和 DKIM 都通过了,而 DMARC 却失败了?
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@amazonses.com header.s=REDACTED header.b=REDACTED;
spf=pass (google.com: domain of REDACTED@eu-central-1.amazonses.com designates IP_REDACTED as permitted sender) smtp.mailfrom=REDACTED@eu-central-1.amazonses.com;
dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=QUARANTINE) header.from=example.com
Run Code Online (Sandbox Code Playgroud)
返回路径结束于 amazonses.com
(example.com存在用于 SPF 和 DKIM 的 DNS 条目)。
如果您需要任何其他信息来找到问题的根源,请告诉我