Почему письма не отправляются: разбираем SMTP-коды и bounce в холодном аутриче
Письмо, которое не дошло, почти никогда не выглядит как один и тот же сбой — за одинаковым по ощущениям «не отправилось» стоят разные коды с разными причинами и разными действиями в ответ. Одна ошибка говорит «почини свою сторону», другая — «выкини этот адрес из базы навсегда», третья — «попробуй позже сама уйдёт». Разбираем основные SMTP-коды применительно к малообъёмной адресной рассылке, где каждый bounce стоит дороже, чем в массовом email-маркетинге.
- Коды 4xx — временный отказ: сервер получателя просит повторить позже, письмо не потеряно окончательно и обычно уходит в очередь на автоматический повтор.
- Коды 5xx — постоянный отказ: адрес не существует или заблокирован навсегда, и повторные попытки только вредят репутации отправляющего домена.
- Ошибка 550 — самая частая постоянная ошибка, но означает разное: от опечатки в адресе до полной блокировки отправителя, и текст ошибки в SMTP-ответе обычно уточняет, какой именно случай.
- Рост bounce rate в малообъёмной адресной рассылке заметен и опасен раньше, чем в массовой: несколько отказов на партию в полсотни писем ощутимо портят статистику домена.
- Hard bounce требует немедленного удаления адреса из активной базы; soft bounce — паузы и повторной попытки, а не мгновенного вычёркивания контакта.
Как устроен SMTP-ответ и что означают первые цифры кода
Когда письмо уходит с почтового сервера, принимающий сервер отвечает трёхзначным кодом, который сообщает, что произошло: код на 2xx означает успешную доставку, на 4xx — временную проблему, на 5xx — постоянный отказ. Разница между 4xx и 5xx принципиальна для того, что делать дальше: временную ошибку стоит подождать и повторить отправку, постоянную — принять как факт и убрать адрес из активной кампании.
Вторая и третья цифры кода уточняют категорию проблемы: 4xx или 5xx может относиться к самому адресу получателя, к содержанию письма, к политике сервера получателя в отношении отправителя. Например, 550 5.1.1 обычно означает «такого почтового ящика не существует», а 550 5.7.1 — «сообщение отклонено политикой» (например, спам-фильтром), и это две совершенно разные проблемы с одним и тем же первым числом кода.
На практике не всегда приходит подробный текстовый ответ — часть провайдеров отдаёт только код без развёрнутого объяснения или вовсе тихо дропает письмо без уведомления отправителя. Это отдельная категория проблем, которая требует не расшифровки кода, а диагностики по косвенным признакам: отсутствие открытий у большой доли писем на один и тот же домен получателей — сигнал, что письма туда не доходят, даже если формального bounce не было.
Коды 4xx: временный отказ — почему не стоит паниковать сразу
Временный отказ 4xx означает, что сервер получателя в моменте не готов принять письмо, но не отказывается от него навсегда. Частые причины: почтовый ящик получателя переполнен (452), сервер получателя временно перегружен и просит повторить позже (421), или отправляющий IP на короткое время попал под ограничение по скорости (greylisting — техника, при которой сервер намеренно отклоняет первую попытку отправки с нового или малознакомого источника, ожидая повторной через несколько минут — это штатное поведение многих корпоративных серверов, а не блокировка).
Правильная реакция на 4xx — не менять текст письма и не удалять адрес, а дать системе повторить отправку через технически заданный интервал, обычно от нескольких минут до нескольких часов. Большинство почтовых систем делает это автоматически по стандартной логике повторов; вмешательство вручную нужно, только если один и тот же адрес стабильно отвечает 4xx на протяжении нескольких дней подряд — тогда это уже не временная перегрузка, а системная проблема на стороне получателя, достойная отдельной проверки.
Greylisting отдельно стоит знать в лицо, потому что пугает новичков сильнее, чем должен: письмо получает 4xx с первой попытки почти всегда специально, и через 15–60 минут повторная отправка проходит нормально. Паниковать и переделывать письмо в ответ на такой код — трата времени на несуществующую проблему.
Коды 5xx: постоянный отказ и что с ним делать
Постоянный отказ 5xx сообщает, что сервер получателя не примет это письмо ни сейчас, ни при повторной попытке в текущем виде. Самый частый код — 550, но за ним может стоять несколько разных ситуаций: адрес не существует (опечатка при сборе базы или увольнение сотрудника без переадресации), почтовый ящик заблокирован администратором, письмо отклонено спам-фильтром получателя по содержанию или репутации отправителя.
Реакция на 5xx зависит от подкода и текста ответа. Если причина — несуществующий адрес, это стандартный hard bounce: адрес немедленно уходит из активной рассылки и помечается как невалидный, повторные попытки отправки на него не имеют смысла и портят репутацию домена. Если причина — отклонение по содержанию письма или репутации (часто видно по формулировке вроде «message rejected due to content policy» или упоминанию блэклиста), это не проблема конкретного адреса, а сигнал разобраться с текстом письма или репутацией отправляющего домена в целом, потому что при следующей отправке на этот же почтовый сервер повторится та же история с другими адресами того же провайдера.
Отдельно стоит код 551 или подобные варианты «relay not permitted» — обычно техническая ошибка конфигурации на стороне отправителя, а не проблема адреса получателя: значит, отправляющий сервер пытается доставить письмо не туда, куда должен, и стоит проверить настройки маршрутизации почты, а не адрес в базе.
- 550 5.1.1 — адрес не существует: немедленное удаление из активной базы, hard bounce.
- 550 5.7.1 — отклонено политикой (спам-фильтр, репутация): проверка текста письма и репутации домена.
- 552 — превышен размер сообщения или квота ящика получателя: уменьшить вложения, повторить позже при переполнении квоты.
- 421/450/452 — временная перегрузка или greylisting: не трогать адрес, дождаться автоматического повтора.
- 551 — ошибка маршрутизации на стороне отправителя: проверить настройки отправляющего сервера, а не адрес получателя.
Почему bounce в адресном аутриче опаснее, чем в массовой рассылке
В массовой email-рассылке по подписной базе на десятки тысяч адресов отдельные bounce статистически растворяются и почти не влияют на общую картину для почтовых провайдеров. В адресном B2B-аутриче партии заметно меньше — часто десятки или низкие сотни писем за волну — и та же абсолютная величина bounce даёт заметно более высокий процент, который почтовые провайдеры считывают как сигнал проблемы с отправителем, а не статистическую погрешность.
Это особенно чувствительно для доменов, которые ещё не накопили устойчивую репутацию — новых или недавно прогретых. Всплеск hard bounce в первых волнах кампании читается получающими серверами как признак некачественной, возможно купленной базы, и может повлиять на доставляемость последующих писем даже к валидным адресам того же домена получателя.
Отсюда практический вывод: для малообъёмной адресной рассылки предварительная верификация базы перед первой волной — не опциональный шаг, а часть базовой гигиены отправки, снижающая риск получить всплеск 5xx именно тогда, когда репутация отправителя наиболее уязвима.
Что делать на своей стороне, прежде чем винить базу
Не каждая проблема с доставкой — вина адреса получателя. Прежде чем списывать контакт как невалидный, стоит проверить базовые технические настройки отправляющего домена: корректность записей SPF и DKIM, наличие DMARC-политики, отсутствие домена в основных блэклистах. Ошибка 5xx с формулировкой про репутацию или политику письма на большом числе разных адресов одного провайдера почти всегда указывает именно сюда, а не на качество конкретных контактов в базе.
Резкий рост объёма отправки без предварительного прогрева домена — ещё одна частая причина каскада отказов, которая маскируется под проблему базы. Домен, который вчера отправлял пять писем в день, а сегодня начал слать несколько сотен, выглядит подозрительно для получающих серверов независимо от качества адресов — здесь чинить нужно скорость наращивания объёма, а не список контактов.
В LDM обработка bounce разделена по типу автоматически: hard bounce сразу выводит адрес из активной кампании и помечает в базе, soft bounce уходит на повторную попытку по стандартному расписанию без ручного вмешательства, а рост доли отказов по волне отправки — сигнал для проверки не только базы, но и технической конфигурации отправляющего домена, потому что чаще всего проблема лежит на пересечении обеих причин, а не строго в одной из них.
Полезная привычка — вести журнал кодов отказа по волнам отправки, а не смотреть только на итоговый процент bounce. Если доля 4xx растёт вместе с общим объёмом рассылки, а доля 5xx остаётся стабильной — проблема, скорее всего, в темпах прогрева и скорости отправки. Если растёт именно доля 5xx с формулировками про репутацию — стоит в первую очередь проверить домен, а не список контактов, собранный для кампании.
Вопросы и ответы
В чём разница между hard bounce и soft bounce?
Hard bounce — постоянный отказ (коды 5xx): адрес не существует или заблокирован навсегда, и его нужно немедленно убрать из активной рассылки. Soft bounce — временный отказ (коды 4xx): переполненный ящик, перегруженный сервер, greylisting — письмо стоит повторить позже, адрес не удаляется.
Что означает ошибка 550 при отправке письма?
550 — самый частый код постоянного отказа, но причина уточняется в тексте ответа сервера: чаще всего это несуществующий адрес, но может быть и отклонение по спам-политике или репутации отправителя. Действие зависит от подкода: несуществующий адрес удаляется из базы, отклонение по репутации требует проверки текста письма и настроек домена.
Нужно ли сразу удалять адрес из базы после одного bounce?
Только если это hard bounce с кодом 5xx, явно указывающим на несуществующий или заблокированный адрес. Soft bounce с кодом 4xx — не повод удалять контакт: это временная проблема, которая обычно решается автоматическим повтором отправки через некоторое время.
Почему письмо не отбилось bounce, но получатель его не видит?
Часть провайдеров тихо дропает письма без формального SMTP-ответа — это не всегда видно как ошибка. Косвенный признак — отсутствие открытий у большой доли писем на один и тот же домен получателей; в этом случае стоит проверить репутацию отправляющего домена и настройки SPF/DKIM/DMARC, а не полагаться только на явные коды отказа.
Почему у малообъёмной рассылки bounce rate выглядит хуже, чем у массовой?
Из-за меньшего размера партии та же абсолютная величина bounce даёт заметно более высокий процент, чем в рассылке на десятки тысяч адресов. Для адресного B2B-аутрича с партиями в десятки-сотни писем это означает, что предварительная верификация базы важнее, чем в массовом email-маркетинге, где отдельные ошибки статистически растворяются.
Может ли проблема быть не в адресах базы, а в самом отправителе?
Да, и это стоит проверять в первую очередь при резком росте отказов по разным адресам одного провайдера. Некорректные записи SPF/DKIM/DMARC, домен в блэклисте или слишком быстрый рост объёма отправки без прогрева дают тот же симптом, что и плохая база, но решаются совсем другими действиями.
Хотите применить это в своём аутриче?
Расскажем, как это работает на вашем сегменте и продукте — до старта работ.
Обсудить задачу