Мой сайт находится на VDS хостинге, и приходиться все оптимизировать и настраивать самому. А так же решать проблемы. Тут недавно меня подломали и я решил начать серию статей по описанию действий, которые помогут избежать таких проблем в будущем.
Т.к. я встретился с проблемой массовой рассылки со своего сервера — будем ограничивать количество исходящих писем с 1 ящика средствами postfix .
Для начала посмотрим текущую конфигурацию postfix:
postconf
Нам необходимы параметры (стандартные значения):
anvil_rate_time_unit = 60s
smtpd_client_message_rate_limit = 0
smtpd_client_recipient_rate_limit = 0
smtpd_client_connection_rate_limit = 100
Это означает, что за 60 секунд можно отправить неограниченное количество сообщений с любого ящика. Интересная конфигурация))) как раз для массовых рассылок.
anvil_rate_time_unit — Измеряется в секундах (s) , минутах (m) , часах (h) , днях (d) , неделях (w).
smtpd_client_recipient_rate_limit — Параметр указывает количество получателей для одного авторизованного пользователя postfix. т.е. сколько адресов будет написано в поле «Кому».
smtpd_client_connection_rate_limit — Количество соединений с одного IP адреса. Если он превышен пользователь получит сообщение «Too many connections from ip»
Внесем новые параметры в конфигурацию postfix. Открываем на редактирование файл конфигурации:
nano /etc/postfix/main.cf
И в самый низ дописываем:
anvil_rate_time_unit = 2h
smtpd_client_message_rate_limit = 400
smtpd_client_recipient_rate_limit = 30
smtpd_client_connection_rate_limit = 30
Этим я ограничил количество отправляемых сообщений до 400 штук за 2 часа. Количество получателей до 30 за 1 раз. Количество соединений до 30 на 1 пользователя. Мне пока вполне достаточно таких цифр.