编辑:

编辑:

我有一个 Postfix 实例,使用 SASL 和 Dovecot 进行身份验证。我使用 virtual_alias_maps 进行一些地址重写,但我无法使用 catch all 定义 (@domain newaddress),因为 Postfix 在使用 Dovecot 进行任何类型的身份验证之前会匹配该定义。

Dovecot 和 Postfix 正在使用我的 AD 服务器作为用户/组/等的后端。

我已阅读了所有与虚拟别名、地图等相关的 Postfix 文档,但还是搞不懂。有谁知道我如何为发送到我的域的电子邮件实现一个捕获所有地址,而我在 AD 中没有可供 Dovecot 匹配的帐户/组?

编辑:

配置摘录:

proxy_read_maps = $local_recipient_maps, $mydestination, $virtual_alias_maps, $virtual_mailbox_maps, $virtual_mailbox_domains, $relay_recipient_maps, $relay_domains, $canonical_maps, $sender_canonical_maps, $recipient_canonical_maps, $relocated_maps, $transport_maps, $my networks, $virtual_sender_maps, $admins_only, $protected_destinations
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
virtual_sender_maps = proxy:ldap:/etc/postfix/ad_sender_login_maps.cf
virtual_alias_maps = proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf,hash:/etc/postfix/virtual

#SASL Stuff
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = DOMAIN.COM
smtpd_client_restrictions = permit_mynetworks,permit
smtpd_recipient_restrictions = check_recipient_access $protected_destinations permit_mynetworks permit_auth_destination permit_sasl_authenticated reject_unauth_destination
smtpd_sender_login_maps = $virtual_sender_maps

我想了解的是,是否存在 1) 一种可接受的方法,或者 2) 一种方法来改变 postfix 检查地图的顺序?

答案1

1) 实现垃圾邮件捕捉器的可接受方法:没有。

接受垃圾邮件(很有可能稍后会被退回,因此您就会成为反向散射制造者)是绝对不可接受的。
相反,应使用有效的收件人列表(例如 LDAP 中的列表)配置您的系统以仅接受正确的邮件。

如果你绝对必须接受无效的收件人,请确保绝不会退回发送到无效地址的任何内容
您有责任确保不会有反向散射垃圾邮件泄露出去;此外,这可能会导致您的系统被列入黑名单,从而削弱您发送邮件的能力。

2)改变后缀处理地图的顺序:不,这是不可能的,因为每个地图都有特定的(和不同的)用途。

答案2

虽然不雅,有一种方法可以实现这一点。我说的“这个”是指:

  • 假设:Postfix + Dovecot、SASL、虚拟域、smtpd_relay_restrictions = ... reject_unverified_recipient ...
  • 如果指定用户存在:向其发送邮件
  • 如果指定的用户不存在,则将邮件发送到 catchall 地址

您所要做的就是列出所有用户,/etc/postfix/virtual并以一个通用地址结尾:

[email protected]  [email protected]
[email protected]  [email protected]
# Any other address will be caught by the catch-all below,
# even if an account exists in Dovecot
@example.com          [email protected]

再次,我需要指出,这是不优雅的,因为它实际上打败了验证用户的想法通过 Dovecot。

来源:https://serverfault.com/a/696298

相关内容