我订阅了许多邮件列表,它们不会删除我的 DKIM 签名,但会改变邮件(更改From
)并添加自己的 DKIM。结果邮件有 2 个 DKIM 签名,一个失败,一个通过。
DMARC 可能是我最大的问题。当我通过这样的邮件列表发送邮件时,我开始收到数十份 DMARC 报告,指出我的邮件包含失败的 DKIM 签名。
向这些邮件列表发送消息时如何禁用我的 DKIM 签名?
我有 exim 的标准 DKIM 相关配置:
DKIM_CANON = relaxed
DKIM_SELECTOR = default
DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE = /etc/exim4/DKIM_DOMAIN/DKIM_SELECTOR.private.pem
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}
据我所知,我无法检查$recipients
,对吗?
因此,我认为我应该配置我的 MUA (mutt) 来更改本地部分并检查本地部分。类似
DKIM_PRIVATE_KEY = ${if and {!eq{$local_part}{phd+list}}{exists{DKIM_FILE}} {DKIM_FILE}{0}}
有没有更好的方法呢?
更新。我决定采用稍微不同的方法:添加/检查自定义标题X-Skip-DKIM-Sig
。因此,.muttrc
我在我的邮件列表中添加了已知邮件列表的标题:
send-hook ~u "\
unmy_hdr Reply-To; \
my_hdr X-Skip-DKIM-Sig: mailing list"
我在进出口检查了一下:
DKIM_PRIVATE_KEY = ${if and{{!def:h_x-skip-dkim-sig:}{exists{DKIM_FILE}}} {DKIM_FILE}{0}}
答案1
没必要。DKIM 签名失效不会影响邮件投递。唯一重要的是是否存在有效的 DKIM 签名。
对于 DMARC 而言,DKIM 签名所涉及的域与 MIME 标头中的域相同非常重要From
。如果邮件服务器修改了主题或正文,它还必须修改标From
头才能发送通过 DMARC 的内容。这是有问题的,许多(如果不是大多数)邮件服务器都会失败。向用户解释这一点是一个持续存在的问题。
ARC 试图解决这个问题。不过它相对较新,因此采用情况并不理想。