0

问题:使用

:
:
dnl # opendkim
include(`/etc/mail/m4/opendkim.m4')dnl

dnl # ClamAV milter
include(`/etc/mail/m4/clamav-milter.m4')dnl

dnl # Masquerading options
MASQUERADE_AS(`example.com')dnl
MASQUERADE_DOMAIN(`example.com')dnl
MASQUERADE_DOMAIN(`example.de')dnl

FEATURE(`always_add_domain')dnl
FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`masquerade_entire_domain')dnl
:
:

在 sendmail.mc 中 opendkim 给 header 添加了一个签名,接下来 sendmail 更改 header 进行伪装,使得 dkim 签名无效。不合理。

在通过 opendkim 添加签名之前,如何告诉 sendmail 应用所有“伪装”选项和功能?

4

1 回答 1

0

我正在解决同样的问题。我还没有工作配置,但看起来opendkim.conf中的ReplaceRules设置是可以使用的。

从手册页:

ReplaceRules (string)指定包含文本替换规则列表的文件,这些规则应用于邮件头字段以替换在邮件通过本地 MTA 时预期要更改的某些内容。这可用于适应预期的更改,例如 MTA“伪装”功能对 From: 字段所做的更改。

编辑: EPEL 存储库中的 2.11.0-0.1 版本具有标记为实验性的ReplaceRules功能,未编译到分发包中,因此不容易获得。我放弃了编写自己的副本的想法。更容易(至少在我的情况下)让 Sendmail 在接收期间重写标题 - 在“submit.mc”中 - 在 OpenDKIM 看到它们之前。

即,sendmail.mcsubmit.mc配置文件包含如下内容:

MASQUERADE_AS(`mydomain.com')
FEATURE(`masquerade_envelope')
MASQUERADE_DOMAIN(`notherhost.mydomain.com')
MASQUERADE_DOMAIN_FILE(`/my/awesome/hostlist')
于 2021-04-08T18:53:04.200 回答