使用 rspamd 和 postfix 在别名域上使用 DKIM

使用 rspamd 和 postfix 在别名域上使用 DKIM

当我的外发电子邮件从别名域发送时,DKIM 签名会遇到问题。也就是说,当我以 身份[email protected]发送时[email protected][email protected]我的邮件已正确签名,但如果我以[email protected]身份发送,则签名为不是添加到邮件头中。我使用的是 postfix 和 rspamd,以下是相关文件:

后缀

主配置文件

(initial boilerplate omitted for brevity)

virtual_mailbox_domains = pgsql:/etc/postfix/pgsql-virtual-mailbox-domains.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql-virtual-mailbox-users.cf
virtual_alias_maps = pgsql:/etc/postfix/pgsql-virtual-alias-maps.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtp_tls_security_level = may
smtpd_sender_login_maps = pgsql:/etc/postfix/pgsql-virtual-alias-maps.cf
smtpd_milters = inet:127.0.0.1:11332
non_smtpd_milters = inet:127.0.0.1:11332
milter_protocol = 6
milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}

主配置文件

(default configs omitted for brevity)

submission inet n - - - - smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_type=dovecot
  -o smtpd_sasl_path=private/auth
  -o smtpd_sasl_security_options=noanonymous
  -o smtpd_sender_login_maps=pgsql:/etc/postfix/pgsql-email2email.cf
  -o smtpd_sender_restrictions=reject_unauthenticated_sender_login_mismatch
  -o smtpd_sasl_local_domain=$myhostname
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject

垃圾邮件

本地.d/dkim_signing.conf

path = "/var/lib/rspamd/dkim/$domain.$selector.key";
selector_map = "/etc/rspamd/dkim_selectors.map";

dkim 选择器路径的权限适用r-x------于文件和r-xr-x---文件夹。

答案1

来自 DKIM 签名模块操作原理

DKIM 签名模块根据预定义的策略选择签名域和选择器,该策略可以通过各种设置进行修改。此默认策略的描述如下:- -

  • 如果存在经过身份验证的用户,则应以 @domain 作为后缀,其中域是所见的信封/标头发件人地址

辅助域与经过身份验证的用户的域不匹配。要更改此默认行为,您的dkim_signing.conf应该有:

allow_username_mismatch = true;

相关内容