[exim-conf] переработана поддержка ratelimit'ов

Victor Ustugov victor на corvax.kiev.ua
Вс Ноя 23 22:51:33 EET 2014


приветствую

чуть меньше чем полностью переработана поддержка ratelimit'ов

в переменной confRATELIMIT можно указывать одно или больше следующих
значений:

NO          - не использовать ratelimit'ы
HOST        - использовать ratelimit'ы по хостам отправителей
AUTH        - использовать ratelimit'ы по учетным записям
            аутентифицировавшихся отправителей
MAIL        - использовать ratelimit'ы по адресам отправителей
RCPT        - использовать ratelimit'ы по адресам получателей
DEBUG       - выводить в файл протокола результаты расчет ratelimit'ов
            вне зависимости от их превышения

настройки ratelimit'ов по хостам отправителей указываются в файле
ratelimit-host

настройки ratelimit'ов по учетным записям аутентифицировавшихся
отправителей указываются в файле ratelimit-auth

настройки ratelimit'ов по адресам отправителей указываются в файле
ratelimit-mail

настройки ratelimit'ов по адресам получателей указываются в файле
ratelimit-rcpt

во всех файлах настроек ratelimit'ов данные указываются однотипно в виде:

аргумент : лимит : действие : сообщение

где:
аргумент    - это адрес хоста отправителя в случае ratelimit-host,
            SMTP логин в случае ratelimit-auth, адреса отправителя
            и получателя в случае ratelimit-mail и ratelimit-rcpt.
лимит       - ограничение в виде "количество / время"
действие    - действие, применяемое к письму (может отсутствовать)
сообщение   - сообщение SMTP клиенту

адреса хостов можно задавать в виде IP адресов, номеров сетей, имен
хостов, в том числе указанных по маске или в виде регулярно
го выражения.

SMTP логины и адреса отправителей и получателей можно указывать в виде
полных адресов, масок или регулярных выражений.

лимит указывается в виде "количество сообщений / период времени".

возможные действия:
ok                  - исключение из проверки
warn                - вывод предупреждения в файл протокола и
                    добавление в письмо поля заголовка
reject              - отказ в приеме сообщения
deny                - синоним для reject
defer               - возврат временной ошибки
greylist=X          - добавление X баллов к счетчику опционального
                    грейлистинга
reject=X            - добавление X баллов к счетчику опционального
                    reject'а
delay=zz            - задержка на zz секунд перед продолжением
                    обработки сообщения
pause=zz            - синоним delay=zz

по умолчанию применяется действие defer.

при описании действий можно использовать вычисляемые выражения.
пример:
* : 20 / 10m : defer delay=${eval:${sg{$sender_rate}{\N[\.].*$\N}{}} -
$sender_rate_limit} : Try again later

в качестве сообщения SMTP клиенту указывается не столько само сообщение,
сколько его уточнение

в уточнении сообщения SMTP клиенту можно использовать вычисляемые
выражения, например в нем можно использовать переменные $sender_rate,
$sender_rate_limit и $sender_rate_period

по умолчанию SMTP клиенту возвращаются следующие сообщения:
Sender host rate exceeds limit
Sender rate exceeds limit
Recipient rate exceeds limit

далее следует уточнение сообщения. если оно отсутсвует, то используется
фраза "Try again later"


-- 
Best wishes Victor Ustugov  mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:       http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614          JID: corvax_at_nb на jabber.corvax.kiev.ua
nic-handle: CRV-UANIC



Подробная информация о списке рассылки exim-conf