我有一个 postfix/amavis 中继服务器,域名为 mail.example.com。它将为数十个 VPS 提供中继服务,这些 VPS 的域名为 hostname.example.net。
所以我实际上有两个问题。是否可以使用 dkim 对通过中继服务器上的 postfix 中继从 VPS 发出的邮件进行签名?或者在邮件实际来自的 VPS 上对邮件进行签名?
像这样的 amavis 配置可以吗?
# DKIM key
dkim_key('example.com', 'dkim', '/var/dkim/DKIMkey.pem');
# Cover subdomains in @dkim_signature_options_bysender_maps= ():
@dkim_signature_options_bysender_maps = ( {
# Cover subdomains example.net.
'.example.net' => { d => 'example.com' },
});
或者我误解了整个概念?如果子域名要通过中继服务器,我是否还需要对子域名进行签名,还是只需对中继服务器域名进行签名就足够了?
答案1
我已经通过使用 OpenDKIM 解决了这个问题签名表,键表和可信主机参数。
- /etc/opendkim/密钥表– 可供签名的密钥列表
- /etc/opendkim/签名表- 允许签名的域名和账户列表
- /etc/opendkim/TrustedHosts– 签名或验证时要信任的服务器列表
我使用的指南可以在这个博客
答案2
我知道这已经是老生常谈了,但是我已经与此斗争了好几天。
我假设您已经 1) 安装了 DKim,2) dkim 正在处理主中继服务器中针对每个相关域生成的消息,3) 您的中继消息正在发送(只是未签名)。如果没有,请花点时间修复该部分,然后再增加从其他发送 VPS 签名邮件的复杂性。
在主中继服务器上运行之后,我唯一需要做的事情就是为来自新 VPS 的消息启用 dkim 签名......
- 在主中继上,将 VPS IP/域名添加到文件
/etc/opendkim/TrustedHosts
。这给予了必要的信任。 - 在每个 VPS 上,在文件中添加我希望我的消息签名的域名
/etc/hosts
。这必须与主中继中已使用的 dkim 有效域相匹配。这有助于在电子邮件标头中设置正确的值。
最后一步有点违反直觉。但正是这最后一步让其他一切都顺利进行。
127.0.0.1 localhost
127.0.1.1 example.com sub.example.com
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
...