Postfix Policyd для SASL и не SASL почты
Я настроил Policyd v2 (cluebringer) для применения квоты на количество сообщений для пользователей SASL и других пользователей. Это легко в поликлиде [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, и никакие другие разрешения после этого не проверяются).
Но наличие здесь означает, что оно будет считать каждую попытку входящей электронной почты в квоте - независимо от того, будет ли это принято постфиксом или нет (потому что серый список / черный список и reject_unauth_destination
после check_policy_service
). Таким образом, весь отклоненный спам будет рассчитываться по квоте получателей.
Как можно вызывать policyd как для входящей электронной почты SASL, так и для электронной почты, не относящейся к SASL, которая принимается сервером?
1]: http://lists.policyd.org/pipermail/users_lists.policyd.org/2012-October/004002.html
1 ответ
В случае Postfix версии 2.10 или новее, вы можете попытаться решить эту проблему, используя smtpd_relay_restriction
особенность. Фрагмент из постфиксной документации объясняет, как правильно их использовать.
Политика ретрансляции указана в 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