我对 amavis 如何处理收到的邮件有点困惑。我的 Zimbra 服务器上的 Postfix 服务配置为对发送的邮件进行签名。而且它运行良好。
问题是发送给内部用户的邮件(仅限他们,外部帐户没有问题,例如@gmail.com 或@yahoo.com)被标记为垃圾邮件,因为无法验证 DKIM 签名。更具体地说,Amavis 似乎没有考虑 DKIM 签名中的 header.s 值。
以 Gmail 为例:
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.ex-nihilo-paris.com 636C223C01CC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ex-nihilo-paris.com; s=8C71BBE2-C332-11E9-A36C-DE544AB689B7; t=1580832669; bh=+8TrrJmLcnxZUkZjdCmVbHB/ELJheHXsjUMg3GrWHqc=; h=Date:From:To:Message-ID:MIME-Version; b=h7/jOP1CAaWZnmmW6RKB6T8CHGUzJHUOSjUquv4jIFnb38SRlduYNXlp98ATeuYnV
6Xtb09vzosri6rDyuB85hc4TJJMP93P2ZXtbALWXaR+x9G6ycua52kv4mKs0/GHfzb
7wjycWfjpi0kHB/8uMMX4SQioH7utZiNB9sezwyGLloSyC/kxvvXZTeuJlGZ0VHmzk
PRVT6p8aaNQ0rU4ZbmnQ2du5PPUjLEtVUhg7PYPbNbMVKChUwtPDH3vgMS3viMaSX8
9/5/SLXNie2yZWhtpCFsgOfRkcX+IhjqQBUmu+LqA6sPRMp9FaI7+PrHgiZLspLtRS
LRn6b35fwL96A==
结果:
Authentication-Results: mx.google.com;
dkim=pass [email protected] header.s=8C71BBE2-C332-11E9-A36C-DE544AB689B7 header.b=HkbYPmX3;
spf=pass (google.com: domain of [email protected] designates 51.255.78.216 as permitted sender) [email protected];
dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=ex-nihilo-paris.com
拥有域名的示例(ex-nihilo-paris.com)
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.ex-nihilo-paris.com 60A8B23C01CC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ex-nihilo-paris.com;
s=8C71BBE2-C332-11E9-A36C-DE544AB689B7; t=1580832824;
bh=mRe5m4ERroqig5SN9KgSkkokS8uGjSACBaxYiIwgUbI=;
h=Date:From:To:Message-ID:MIME-Version;
b=c3/mSOn+gwlSHYBoiUkujtj2MaE6EOOJ1ZMPt8oQ8HidainYgRKK6VJ+O8n/HS0iV
8HMAYsgQSpSEDdPJyAPqJsAM9WDrXdWjm2/4BjgQBFt7iRVX8q4e7vkPMkdbHwCnKg
KRlmOJrLFpNMcpGcm8yvAyR9jLW4HWcAqGJc+3D7bOrTAKhtTw8Eufvk6JxX7eAuKq
Im++CKj5f+hvBHea64nNQWgebfPWhGseFn/cqCtR+Qhroq7n9xUWByjMf0507pUeDE
MMwRrVgpiDyeixmbiy5GQgsrDxsJyQtoLniCRLuIYiih6gmCuJTsx/7t8n8ZdSfAVv
B+UDRgdYHpqbQ==
结果:
Authentication-Results: mail.ex-nihilo-paris.com (amavisd-new); dkim=neutral
reason="invalid (public key: DNS error: no nameservers)"
header.d=ex-nihilo-paris.com
看起来服务器可能无法解析域以获取 DKIM 密钥。
显然,DKIM 条目存在于我们的 DNS 上(例如,Google 可以解析它)
设置如下:
8C71BBE2-C332-11E9-A36C-DE544AB689B7._domainkey.ex-nihilo-paris.com.
v=DKIM1; k=rsa; t=s; s=email; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwInGpqmCeO/FWpRsbF8gmSTTj62G98wtjzbWP5UGo6aL4d9184+Orauio8cdhuY0aBJXDzvifHCWm/0xlmxXHjjBZBWgvphiZZMLUONdXkwT+hsZjM2Lj3gtClN4bKiUG2FmT7j8O5A21BJU5m0eIymRYV6yEnmLag3YEeOGP6tr24kCbnUqDvtEmGczgZwFnJbYUfPKPLp6WTlImey/5JPiJj0mwVHBGa0dmCR5Q4mMTmS4Po6f0NlAuppWSWUrgRipEjRgXF3r850i+2U/yB1lPkSWrLIHoYW9jyr+ErtiCBIGmzjJ93eK4y7SBpd4npcjq0wYlmxe+GokCU0FEQIDAQAB
知道为什么 Amavis 无法解析主机吗?
编辑:
我通过记录查询检查了本地服务器上的绑定活动,并且看到实际请求的 8C71BBE2-C332-11E9-A36C-DE544AB689B7._domainkey.ex-nihilo-paris.com 的 txt 记录。
此外,$ host -t txt 8C71BBE2-C332-11E9-A36C-DE544AB689B7._domainkey.ex-nihilo-paris.com 返回预期结果。
因此,“DNS 错误:没有名称服务器”可能是错误的错误消息。
答案1
我终于解决了这个问题。问题出在一个空的/etc/resolv.conf
。尽管服务器能够在本地解析 DNS 查询,但该/etc/resolv.conf
文件没有配置名称服务器这一事实导致了此问题。
在我使用该resolvconf
实用程序配置此文件并使用重新启动 Zimbra 服务之后zmcontrol
,一切都运行正常。