我已经配置了 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