Postfix Policyd 同时适用于 SASL 和非 SASL 邮件

Postfix Policyd 同时适用于 SASL 和非 SASL 邮件

我已经配置了 Policyd v2 (cluebringer),以对 SASL 和非 SASL 用户的消息计数应用配额。在 policyd [1] 中这很容易。但是我不知道如何配置 postfix (2.7.1)。现在我有这个(不重要的规则已删除):

smtpd_recipient_restrictions    =
    check_policy_service inet:127.0.0.1:10031,
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_unauth_destination,
    reject_rbl_client zen.spamhaus.org,

check_policy_service必须在permit_sasl_authentificated能够检查 SASL 用户之前(因为permit_sasl_authentificated返回 OK 并且之后不会检查其他权限)。

但在这里使用它意味着,它将计算配额中的每封传入电子邮件尝试 - 无论它是否会被 postfix 接受(因为灰名单/黑名单和reject_unauth_destination在之后check_policy_service)。因此,所有被拒绝的垃圾邮件都将计入收件人用户的配额。

如何才能同时为 SASL 传入电子邮件和服务器接受的非 SASL 电子邮件调用 policyd?

1]:http://lists.policyd.org/pipermail/users_lists.policyd.org/2012-October/004002.html

答案1

的情况下Postfix 2.10 或更高版本,您可以尝试使用功能解决这些问题smtpd_relay_restriction。摘自postfix 文档解释如何正确使用它们。

中继策略在 smtpd_relay_restrictions 下指定,垃圾邮件阻止策略在 smtpd_recipient_restrictions 下指定。

那么你的配置应该是这样的

smtpd_relay_restriction = 
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination

smtpd_recipient_restrictions =
    reject_rbl_client zen.spamhaus.org,
    check_policy_service inet:127.0.0.1:10031

相关内容