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
Другие вопросы по тегам