Bounces — самый недооценённый сигнал в email. Отправители смотрят на цифру в дашборде, вздыхают если она выше 2%, и забывают. Но категория bounce, конкретный SMTP-ответ и то, как вы его обработаете дальше — решают, станет ли одна неудачная рассылка двухмесячной репутационной ямой.
Hard bounce — это 5xx (постоянный отказ): подавляйте сразу, никогда не переотправляйте. Soft bounce — это 4xx (временный отказ): повторите 3 раза за 48 часов, потом подавите. Любое сообщение про «Our system has detected» — это не очередной 4xx, а сигнал репутационной тревоги. Держите bounce rate ниже 2%, иначе провайдеры начнут вас троттлить.
| Показатель | Hard bounce | Soft bounce |
|---|---|---|
| SMTP-класс | 5xx (постоянный) | 4xx (временный) |
| Типичная причина | Ящик не существует, домен без MX, полис отказа | Почтовый ящик переполнен, сервер занят, greylisting, рейт-лимит |
| Политика повтора | Никогда | 3 повтора за 48 часов (6ч / 24ч / 48ч) |
| Действие при неудаче | Заблокировать навсегда, залогировать | Заблокировать после 3 попыток |
| Риск ошибки обработки | Урон репутации от повторяющихся 5xx | Retry-шторм переходит в блокировку |
| Пример SMTP-кода | 550 5.1.1 User unknown | 451 4.7.1 Try again later |
Что на самом деле такое bounce
Bounce — это SMTP-ответ принимающего сервера вашему серверу с информацией, что письмо не доставлено. Сервер либо отказывает на этапе SMTP-диалога (отказ на RCPT TO или DATA), либо принимает письмо, а потом отправляет уведомление о недоставке (DSN) — bounce-письмо, которое представляют себе большинство.
SMTP-код решает всё. Первая цифра — это категория: 2xx — успех, 4xx — временный отказ, 5xx — постоянный отказ. Ваша система отправки использует первую цифру, чтобы решить что дальше делать. Остальные две цифры плюс расширенный код DSN (например 5.1.1, 4.7.0) дают причину.
Hard bounces: 5xx и постоянный отказ
Hard bounce значит, что принимающий сервер с уверенностью говорит: этот адрес никогда не примет письма. Смысла повторять нет. Ящик не существует, домен не разрешается, или сервер вас навсегда заблокировал.
Типичные 5xx-коды, которые встречаются в боевом режиме:
550 5.1.1 User unknown— ящик не существует. Самый частый hard bounce. Всегда подавляйте сразу.550 5.1.2 Domain not found— домен From не найден или нет MX. Обычно опечатка (gmail.con вместо gmail.com).554 5.7.1 Relay access deniedили554 5.7.1 Message refused— отказ по полису. Может быть из-за контента или IP-чёрного списка.553 5.1.8 Sender address rejected— ваш From-адрес невалиден или не аутентифицирован.521 5.2.1 Domain does not accept mail— null MX-запись. Домен явно говорит «здесь не принимают письма».
Как исправить: каждый hard bounce попадает в постоянный блок-лист. Без исключений. Никогда не добавляйте hard-bounced адрес заново из CSV-импорта спустя полгода — правила не изменились.
Soft bounces: 4xx и временный отказ
Soft bounce — это получатель, говорящий «не сейчас, попробуй позже». Ящик существует, но что-то ему мешает. Ваша система должна повторить — но только по разумному расписанию и ограниченное количество раз.
Типичные 4xx-коды:
421 4.3.2 Service not available— сервер занят, упал или намеренно вас откладывает. Повторите через 15–30 минут.450 4.2.1 Mailbox temporarily unavailable— аккаунт заморожен, временная блокировка или техническое обслуживание. Повторите через несколько часов.451 4.7.1 Try again later— greylisting или рейт-лимит. Повторите через 5–15 минут; greylisting обычно проходит с первого повтора.452 4.2.2 Mailbox full— прямая переполненность ящика. Повторите за день-два; если не пройдёт за неделю, считайте hard bounce.452 4.5.3 Too many recipients— вы отправили слишком много командRCPT TOв одной сессии. Это проблема вашей системы, не получателя.
Как исправить: повторяйте 3 раза за 48 часов (6ч, потом 24ч, потом 48ч — проверенное расписание). Если адрес после третьей попытки всё ещё не прошёл, переместите в блок-лист. Более агрессивная тактика выглядит как retry-шторм и может сама спровоцировать блокировку.
Block bounces: когда soft — это реальная тревога
Некоторые 4xx-ответы технически soft, но это на самом деле репутационный блок. Знаменитое сообщение Gmail 421-4.7.0 [IP] Our system has detected an unusual rate of unsolicited mail — классический пример. Это 4xx — в теории можно повторить — но Gmail вам говорит, что ваша репутация настолько плоха, что они вообще отказывают в приёме этого батча.
Другие блоки по контенту/репутации:
421 4.7.0 Too many unauthenticated commands— вы отправляете без должной аутентификации.421 4.7.28 Our system has detected suspicious traffic— срабатывает Google SafeSearch / anti-abuse.451 4.7.500 Server busy, please try again later(Outlook) — часто это SNDS-уровневый блок, замаскированный под defer.450 4.7.1 Client host rejected: Access denied— ваш IP в чёрном списке получателя.
Как исправить: не повторяйте вслепую. Если видите больше нескольких таких кодов на тысячу отправок — паузируйте кампанию, проверьте инструменты провайдера (Postmaster Tools для Gmail, SNDS для Outlook), и остановитесь. Retry-шторм поверх блока только усугубляет проблему.
Пороги bounce rate, которые имеют значение
Цифры по индустрии удивительно согласованны в Gmail, Outlook, Yahoo и крупных ESP. Запомните эти пороги:
- Ниже 2% — здоровый уровень. Никаких мер не требуется.
- 2–5% — зона внимания. Начните смотреть на источники списков.
- 5–10% — начнётесь видеть троттлинг. Gmail будет больше откладывать ваши письма. Outlook SmartScreen повысит процент спама.
- Выше 10% — активный урон репутации. Ждите чёрных списков и блокировки аккаунта на ESP. Это что происходит после импорта купленного списка.
Следите за трендам, а не просто за абсолютной цифрой. Стабильные 1,5% — это нормально. Скачок с 0,8% до 3,1% в одной кампании — красный флаг, даже если 3,1% ещё «нормальный».
Как обрабатывать bounces на практике
Задача вашей системы отправки — превратить bounce-коды в три решения: подавить сразу, повторить позже или заморозить кампанию. Вот безопасная политика по умолчанию:
- Любой 5xx → подавить адрес навсегда. Залогировать причину для аудита, но никогда больше не отправлять.
- 4xx на свежем адресе → повторить 3 раза по расписанию 6ч / 24ч / 48ч. После 3 неудач → подавить.
- 4xx, упоминающий «policy», «blocked», «suspicious», «unusual rate» → паузируйте всю кампанию к этому провайдеру минимум на 6 часов. Проверьте репутацию.
- Жалоба из feedback loop (FBL) → подавите адрес и залогируйте жалобу для аналитики. Не отправляйте и не повторяйте.
- Ящик переполнен (
452 4.2.2) дольше 7 дней → переведите в постоянный блок. Это заброшенный аккаунт.
Большинство ESP (Mailgun, Postmark, SendGrid, Amazon SES) делают механику за вас. Если отправляете через собственный MTA (Postfix, Haraka, Halon), вы отвечаете за эту логику — и большинство self-hosted отправителей её портят, повторяя 5xx или блокируя по одному 4xx.
Где валидация списка подходит
Обработка bounces — это реактивный подход. Валидация списка — проактивный: вы проверяете адреса перед отправкой, а не после. Сервисы вроде NeverBounce, ZeroBounce и Kickbox пробуют адреса без реальной доставки (как SMTP-запрос RCPT TO), помечая те, что вызовут bounce.
Рекомендуемый график:
- Перед первой отправкой на любой импортированный список. Всегда. Без исключений даже для «чистых» CSV.
- Раз в 6 месяцев для тёплых списков. Email-адреса устаревают на ~22% в год — люди меняют работу, ящики закрываются.
- После всплеска bounces, даже если список недавно чистили. Всплеск обычно значит, что порция старых адресов пробралась.
Держите bounce rate ниже 2% в каждой кампании. Если дошли до 5% на середине отправки — автопауза. Никаких решений человеком — провайдер уже относится к вам хуже с каждой минутой, а продолжение только углубит яму. Зрелые системы отправки имеют автопаузу на 5% встроенную.
Частые вопросы
Нужно ли повторять сообщение, если адрес hard-bounced, но я исправил адрес?
Bounce rate низкий (ниже 1%), но спам-плейсмент высокий. Это нормально?
Bounce — это то же самое, что блок?
Почему Gmail иногда отказывает сразу, а иногда принимает потом кидает?
Бесплатный Inbox Check покажет, где ваши письма реально оказываются. 20+ провайдеров: Gmail, Outlook, Mail.ru, Yandex, Yahoo и другие. Без регистрации, без карты.