Назад | Перейти на главную страницу

Политика Postfix для почты 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 возвращает ОК, и после него никакие другие разрешения не проверяются).

Но наличие его здесь означает, что он будет засчитывать каждую входящую электронную почту в квоте - независимо от того, будет ли она принята постфиксом или нет (потому что серый список / черный список и reject_unauth_destination после check_policy_service). Таким образом, весь отклоненный спам будет рассчитываться по квоте пользователей-получателей.

Как можно активировать политику как для входящей электронной почты SASL, так и для электронной почты не SASL, которая принимается для сервера?

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

В случае 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