[exim-conf] ratelimit на количество несуществующих адресов получателей в письмах от аутентифицированных отправителей

Victor Ustugov victor на corvax.kiev.ua
Пн Ноя 26 22:45:39 EET 2018


приветствую

реализовано ограничение на количество несуществующих адресов получателей
в письмах от аутентифицированных отправителей.

для его включения нужно добавить значение AUTH_RCPT_UNKNOWN в параметр
confRATELIMIT и пересобрать конфиг.

значение AUTH_RCPT_UNKNOWN в confRATELIMIT может использоваться только в
случае использования RCPT в значении confVERIFY_RECIPIENT, т. е. в
случае, когда адрес получателя исходящих писем проверяется с помощью
callout'а, а не просто проверяется резолвинг MX/A записей домена.

настройки ratelimit'ов на количество несуществующих адресов получателей
в письмах от аутентифицированных отправителей в файле
ratelimit-auth-rcpt-unknown указываются в таком же виде, как и настройки
остальных ratelimit'ов:

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

где:
аргумент	- SMTP логин
лимит		- ограничение в виде "количество / период"
действие	- действие, применяемое к письму (может отсутствовать)
сообщение	- сообщение SMTP клиенту

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

"лимит" указывается в виде "количество_сообщений / период_времени".
"период_времени" указывается в виде 5s, 10m30s, 1h10m и т. д.

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

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

пример:

user на domain.tld	: 100 / 1h : defer : Try again later
*               : 5 / 10m : defer :

при описании действий можно использовать вычисляемые выражения.
пример:

* : 20 / 10m : defer delay=${eval:${sg{$sender_rate}{\N[\.].*$\N}{}} -
$sender_rate_limit} : Try again later

в качестве сообщения SMTP клиенту указывается не столько само сообщение,
сколько его уточнение, т. е. вторая часть сообщения.
сначала будет выведено сообщение "Too many authentication attempts".
в уточнении сообщения SMTP клиенту можно использовать вычисляемые
выражения, например в нем можно использовать переменные $sender_rate,
$sender_rate_limit и $sender_rate_period также, как и в действии.


-- 
Best wishes
Victor Ustugov        mailto:victor на corvax.kiev.ua
public GnuPG/PGP key: https://victor.corvax.kiev.ua/corvax.asc
Skype ID: corvax_nb   JID: victor на corvax.kiev.ua



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