我们已对电子邮件的Return-Path:
和Reply-To:
部分进行了如下修改:
/etc/postfix/main.cf
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/通用
[email protected] [email protected]
[email protected] [email protected]
在添加之前我们得到
Return-Path: <[email protected]>
Authentication-Results: mta1087.mail.ir2.yahoo.com
[email protected] header.s=mail dkim=pass (ok);
spfDomain=mainserver.com spfResult=none;
dmarc=pass(p=none sp=quarantine dis=none) header.from=relay.com
Received-SPF: none (domain of mainserver.com does not designate permitted sender hosts)
后:
Return-Path: <[email protected]>
Authentication-Results: mta1129.mail.ir2.yahoo.com
[email protected] header.s=mail dkim=permerror (bad sig);
spfDomain=relay.com spfResult=pass;
dmarc=pass(p=none sp=quarantine dis=none) header.from=relay.com
Received-SPF: pass (domain of relay.com designates xx.xx.xx.xx as permitted sender)
这一变化导致我们的 DKIM 出现问题,permerror (bad sig)
是否有解决办法或其他方法?
答案1
假设您正在使用 openDKIM,您是否确保:
1 - 正确的 DKIM 密钥已在“relay.com”dns 记录下发布
2 - 这些列在 /etc/opendkim/key_table 中
3 - “relay.com”发件人地址位于 /etc/opendkim/signing_table 中
如果是这样,我猜地址在 dkim 签名后被重写 - 这会破坏 DKIM
检查已发送邮件的 dkim 签名可能会提供进一步的线索。
另外一个选择
/etc/postfix/main.cf
smtp_generic_maps = hash:/etc/postfix/canonical
/etc/postfix/规范
[email protected] [email protected]
[email protected] [email protected]
答案2
在这篇文章中: DKIM 未使用别名地址签名 - 非内部、未经过身份验证
JChook 发帖:
“我通过使用 postfix 高级过滤器并在最后阶段添加 opendkim milter 解决了这个问题。”
答案3
上述解决方案均无效,因为 OpenDKIM 在地址更改之前对电子邮件进行了签名,无论是使用canonical_maps =hash:/etc/postfix/canonical
还是smtp_generic_maps = hash:/etc/postfix/canonical
不幸的是,只有两种解决方案有效:
- 使用多个后缀实例,其中一个将电子邮件重定向到另一个
- Postfix 过滤器的使用,OpenDKIM 签名的上游:http://www.postfix.org/FILTER_README.html#advanced_filter