EXIM mail rate: различия между версиями
Перейти к навигации
Перейти к поиску
Sol (обсуждение | вклад) (Новая страница: «Категория:Mail Ограничение количества писем в единицу времени в Exim В файле конфигураци…») |
Sol (обсуждение | вклад) |
||
Строка 20: | Строка 20: | ||
В итоге выставляется ограничение в 50 писем в час для почты отправленной не по SMTP (например через PHP mail) и в 100 писем для отправки через SMTP. В файле /etc/exim/whitelist создается белый список хостов на которые лимит не действует. | В итоге выставляется ограничение в 50 писем в час для почты отправленной не по SMTP (например через PHP mail) и в 100 писем для отправки через SMTP. В файле /etc/exim/whitelist создается белый список хостов на которые лимит не действует. | ||
+ | |||
+ | == Еще один рецепт == | ||
+ | |||
+ | # Рубаем баунсы от клиентов до двух в час (если закрыть, аутглюку станет худо) | ||
+ | deny condition = ${if eq{$sender_address}{}{yes}{no}} | ||
+ | domains = !+local_domains | ||
+ | hosts = +relay_from_hosts | ||
+ | ratelimit = 2 / 1h / per_mail / strict / $sender_address | ||
+ | message = Too many bounces from you! Ask at [email protected]. | ||
+ | |||
+ | # Рубаем тех кто превысил заданную норму сообщений в час - клиентов | ||
+ | deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. | ||
+ | hosts = +relay_from_hosts | ||
+ | ratelimit = 100 / 1h / per_mail / leaky / $sender_address | ||
+ | |||
+ | # Рубаем по (в частности, если сообщение посылается локально, то содержит имя пользователя) | ||
+ | deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for More slowly, try later or complain [email protected]. | ||
+ | hosts = +relay_from_hosts | ||
+ | ratelimit = 100 / 1h / per_mail / leaky / $authenticated_id | ||
+ | |||
+ | deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for More slowly, try later or complain [email protected]. | ||
+ | hosts = +relay_from_hosts | ||
+ | ratelimit = 100 / 1h / per_mail / leaky / $sender_host_authenticated | ||
+ | |||
+ | # Рубаем тех кто превысил заданную норму сообщений в час - для остальных | ||
+ | deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. | ||
+ | hosts = * : !+mine : !+relay_from_hosts | ||
+ | ratelimit = 100 / 1h / per_conn / leaky / $sender_address | ||
+ | accept | ||
+ | |||
+ | # Рубаем тех кто превысил заданную норму сообщений в час - для остальных | ||
+ | deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. | ||
+ | hosts = * : !+mine : !+relay_from_hosts | ||
+ | ratelimit = 100 / 1h / per_conn / leaky / $authenticated_id | ||
+ | |||
+ | deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. | ||
+ | hosts = * : !+mine : !+relay_from_hosts | ||
+ | ratelimit = 100 / 1h / per_conn / leaky / $sender_host_authenticated |
Текущая версия на 23:27, 19 января 2016
Ограничение количества писем в единицу времени в Exim
В файле конфигурации почтового сервера Exim необходимо настроить директиву следующим образом
acl_not_smtp = acl_not_smtp begin acl acl_not_smtp: deny message = Sender rate overlimit - $sender_rate / $sender_rate_period ratelimit = 50 / 1h / leaky accept acl_check_rcpt: deny message = Sender rate SMTP overlimit - $sender_rate / $sender_rate_period ratelimit = 100 / 1h / leaky accept hosts = net-lsearch;/etc/exim/whitelist
В итоге выставляется ограничение в 50 писем в час для почты отправленной не по SMTP (например через PHP mail) и в 100 писем для отправки через SMTP. В файле /etc/exim/whitelist создается белый список хостов на которые лимит не действует.
Еще один рецепт
# Рубаем баунсы от клиентов до двух в час (если закрыть, аутглюку станет худо) deny condition = ${if eq{$sender_address}{}{yes}{no}} domains = !+local_domains hosts = +relay_from_hosts ratelimit = 2 / 1h / per_mail / strict / $sender_address message = Too many bounces from you! Ask at [email protected]. # Рубаем тех кто превысил заданную норму сообщений в час - клиентов deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. hosts = +relay_from_hosts ratelimit = 100 / 1h / per_mail / leaky / $sender_address # Рубаем по (в частности, если сообщение посылается локально, то содержит имя пользователя) deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for More slowly, try later or complain [email protected]. hosts = +relay_from_hosts ratelimit = 100 / 1h / per_mail / leaky / $authenticated_id deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for More slowly, try later or complain [email protected]. hosts = +relay_from_hosts ratelimit = 100 / 1h / per_mail / leaky / $sender_host_authenticated # Рубаем тех кто превысил заданную норму сообщений в час - для остальных deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. hosts = * : !+mine : !+relay_from_hosts ratelimit = 100 / 1h / per_conn / leaky / $sender_address accept # Рубаем тех кто превысил заданную норму сообщений в час - для остальных deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. hosts = * : !+mine : !+relay_from_hosts ratelimit = 100 / 1h / per_conn / leaky / $authenticated_id deny message = Sender rate exceeds $sender_rate_limit messages per $sender_rate_period for $sender_host_address More slowly, try later or complain [email protected]. hosts = * : !+mine : !+relay_from_hosts ratelimit = 100 / 1h / per_conn / leaky / $sender_host_authenticated