Home » Email и рассылки – Как ограничить рассылку с сервера?
Email и рассылки – Как ограничить рассылку с сервера?

Email и рассылки – Как ограничить рассылку с сервера?

Введение: Почему важно ограничивать рассылку с сервера

Если ты владелец сайта, вебмастер, SEO-шник или просто держишь VPS для своих проектов — вопрос рассылки с сервера (email-рассылки) рано или поздно встанет ребром. Даже если ты не рассыльщик и не спамер, а просто отправляешь уведомления юзерам, заявки из формы или пароли — всегда есть риск, что твой сервер начнёт слать слишком много писем, и тебя забанят, занесут в чёрный список или просто отрежут SMTP.

В этой статье я разложу по полочкам, как ограничить рассылку с сервера — чтобы не налететь на блокировки, не получить бан на IP и не угробить репутацию домена. Будет просто, но по сути, без воды и с реальными примерами.

Зачем вообще ограничивать рассылку?

  • Безопасность: Если на сервере найдётся дырка (или кто-то зальёт шелл), злоумышленники могут устроить массовую рассылку от твоего имени. Итог — IP в чёрных списках, письма не доходят даже тебе.
  • Репутация: Если отправлять слишком много писем за короткое время, твой домен и IP быстро попадут в спам-листы (Spamhaus, Barracuda, etc).
  • Стабильность работы: Массовая рассылка может нагрузить сервер, уронить сайт или вообще привести к блокировке хостером.
  • Законодательство: В некоторых странах за несанкционированную рассылку могут и к ответственности привлечь.

Основные способы ограничить рассылку с сервера

Вот тебе сразу чек-лист подходов:

  • Ограничение на уровне почтового сервера (Postfix, Exim, Sendmail и т.п.)
  • Ограничение через панель управления (ISPmanager, cPanel, DirectAdmin и др.)
  • Контроль через скрипты/приложения (например, WordPress, Bitrix, Joomla)
  • Использование внешних SMTP-сервисов с лимитами (Mailgun, SendGrid, Yandex360, Gmail API)
  • Мониторинг и алерты (fail2ban, logwatch, custom-скрипты)

1. Ограничения на уровне почтового сервера

Самый надёжный способ — ограничить рассылку прямо в конфиге почтовика. Это работает для VPS и выделенных серверов, где ты сам настраиваешь Postfix, Exim или Sendmail.

Postfix

  • default_process_limit — ограничивает число одновременных процессов postfix.
  • smtp_destination_rate_delay — задержка между доставкой писем на один SMTP-сервер.
  • smtpd_client_message_rate_limit — ограничивает количество писем от одного клиента за минуту.


# Ограничить до 100 писем в час с одного IP
smtpd_client_message_rate_limit = 100

Более тонкая настройка — через policyd (https://wiki.policyd.org/) или postfwd (http://postfwd.org/).

Exim

  • smtp_accept_max_per_host — сколько соединений с одного IP.
  • smtp_accept_max_per_connection — сколько писем за одно соединение.
  • message_rate_limit — сколько писем в минуту/час.


# В секции main config
smtp_accept_max_per_host = 5
message_rate_limit = 100 / 1h

Sendmail

  • Менее гибкий, но можно использовать confMAX_RCPTS_PER_MESSAGE и сторонние модули.

2. Ограничения через панели управления

Если ты пользуешься ISPmanager, cPanel, Plesk, VestaCP — там обычно есть лимиты на рассылку для каждого домена или пользователя.

  • В cPanelEmail -> Email Sending Limits
  • В ISPmanagerПочта -> Ограничения
  • В PleskПочта -> Настройки -> Ограничения на отправку

Ставь лимиты — например, 200 писем в сутки на домен или пользователя. Это спасёт, если кто-то из клиентов решит “пошутить” или твой сайт взломают.

3. Контроль на уровне скриптов и приложений

Если у тебя WordPress, Joomla, Bitrix или самопис — можно ограничивать отправку писем на уровне кода. Например, через плагины или модули:

  • WordPress: WP Mail Logging + WP Mail SMTP (там можно настроить лимиты и логирование)
  • Bitrix: В настройках почты можно указать лимит отправки за период
  • Joomla: Плагины типа AcyMailing позволяют ограничить скорость рассылки

Если самопис — добавь очередь писем и проверку количества отправленных за час/сутки.

4. Внешние SMTP-сервисы с лимитами

Самый надёжный вариант — не рассылать с сервера вообще, а использовать сторонний SMTP-сервис:

Плюсы:

  • Они сами ограничивают рассылку (например, 200-500 писем в день на бесплатке)
  • Не палится твой серверный IP
  • Есть логирование, отслеживание доставляемости

Минус — на больших объёмах платно, но для большинства задач (уведомления, формы) хватает бесплатного тарифа.

5. Мониторинг и алерты

Профи всегда мониторят логи почтовика и используют алерты. Например:

  • fail2ban — можно настроить фильтр на подозрительную активность в логах почтовика и банить IP-шники
  • logwatch — присылает отчёты по логам, видно всплески
  • Скрипты на bash/python — считаешь количество отправленных писем за период и шлёшь себе алерт, если превышено


# Пример простого bash-скрипта для подсчёта писем postfix за последний час
grep "$(date +"%b %d %H")" /var/log/mail.log | grep "status=sent" | wc -l

Кейсы: плюсы и минусы разных подходов

Позитивный опыт

  • Владелец интернет-магазина поставил лимит 200 писем/сутки на уровне Postfix. Когда сайт взломали и попытались рассылать спам, сервер отправил только 200 писем, после чего заблокировал рассылку. В итоге — IP остался чистым, домен не попал в спам-листы.
  • Дорвейщик использует только внешние SMTP (Mailgun), чтобы не светить свои IP. Даже если рассылка ушла в спам — сервер не попал в блэк-листы, а на новый домен подключил свежий SMTP.

Негативный опыт

  • SEO-шник не ограничил рассылку на WordPress-сайте, его взломали и через contact form отправили 20 000 спам-писем. Итог — IP в 5 чёрных списках, письма клиентам не доходят, долго чистил репутацию.
  • Владелец сайта поставил лимит только в панели управления, но на сервере был открыт relay для localhost. Взломщик отправил рассылку через shell-скрипт, лимит не сработал — сервер попал в бан.

Команды и примеры конфигов

Postfix: ограничить отправку


# /etc/postfix/main.cf
smtpd_client_message_rate_limit = 100
anvil_rate_time_unit = 3600s

Это ограничит отправку до 100 писем в час с одного IP.

Exim: лимит на отправку


# /etc/exim/exim.conf
smtp_accept_max_per_host = 3
message_rate_limit = 50 / 1h

Панель ISPmanager

  • Почта → Ограничения → “Максимум писем в сутки” — ставим 100-200

WordPress: лимит через плагин

  • Плагин Email Limit — ставишь лимит в админке

Бонус: ошибки новичков, советы и мифы

Ошибки новичков

  • Ограничивают только в панели, забывая про серверный SMTP (php mail(), sendmail и т.п.)
  • Думают, что “меня это не коснётся”, пока не взломают сайт или форму обратной связи
  • Используют один SMTP-аккаунт для всех сайтов и клиентов — если его забанят, все проекты в пролёте
  • Не мониторят логи, не замечают, что сервер уже попал в спам-листы

Советы по выбору подхода

  • Для shared-хостинга — всегда ставь лимиты в панели и не доверяй подозрительным плагинам
  • Для VPS — ограничивай на уровне почтовика и мониторь логи
  • Для массовых рассылок — используй внешние SMTP, не рискуй своим сервером
  • Для критичных проектов — делай алерты и резервные SMTP-аккаунты

Мифы

  • “Если мало писем — не попадёшь в спам.” — Не всегда! Важно не только количество, но и содержание, репутация, настройки DNS (SPF, DKIM, DMARC)
  • “Внешний SMTP решает все проблемы.” — Да, но если аккаунт забанят, восстановить сложно, а иногда и невозможно.
  • “Можно просто отключить sendmail и всё.” — Нет, PHP mail() может использовать другие пути, а злоумышленник может запустить свой SMTP.

Похожие решения и лайфхаки

  • Ограничение через файрволл (iptables) — можно закрыть порт 25/465/587 для всего, кроме определённых приложений
  • Использование greylisting — помогает от автоматических ботов, но не спасает от ручных атак
  • Проверка на вирусы и шеллы (clamscan, Maldet) — чтобы не дать злоумышленнику отправлять рассылки

Заключение: Итоги и рекомендации

Ограничение рассылки с сервера — это must-have для любого, кто держит сайты на VPS, shared-хостинге или выделенном сервере. Неважно, кто ты: SEO-шник, дорвейщик, вебмастер или просто владелец корпоративного сайта — настрой лимиты, мониторь логи, используй внешние SMTP для массовых рассылок и всегда держи руку на пульсе.

Советую начать с простого: поставь лимиты в панели и на почтовике, проверь, нет ли открытого relay, логируй отправку и подключи алерты. Для массовых рассылок — только внешние сервисы. И не верь мифам — лучше перебдеть, чем потом чистить репутацию домена и IP.

Если нужна документация — вот полезные ссылки:

Будь умнее — ограничь рассылку заранее и спи спокойно!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked