SMTP-ошибки и баунсы: как читать коды и что делает SaM oTPravil
Группы ошибок, политика ретраев, где смотреть в личном кабинете и ссылки на разборы
Что такое bounce и ошибки недоставки
Bounce (баунс, отлуп, отскок) — ответ почтового сервера о том, что письмо не доставлено получателю. В логах и отчётах он выглядит как SMTP-код и текстовое сообщение — например, 550 Spam Message Rejected или 451 Ratelimit exceeded for mailbox.
При отправке через SaM oTPravil ошибка может появиться на разных этапах:
- До приёма письма нашим сервером — например, адрес в стоп-листе (550 bounced check filter).
- При доставке на сервер получателя — ответ receiver-MTA: временная ошибка 4xx или постоянная 5xx.
- На стороне почтового ящика отправителя — если вы подключаете публичный SMTP (Mail.ru, Gmail, Яндекс) к CRM или helpdesk: аутентификация или лимиты режут отправку ещё до нашего транспорта.
Общая логика кодов SMTP описана в глоссарии Mailganer и в RFC 5321. Разбор конкретных bounce-ответов — в справочнике ошибок недоставки.
Группы ошибок: soft bounce и hard bounce
По первой цифре SMTP-кода ошибки делятся на временные и постоянные. Та же схема используется в статье Mailganer про ошибки недоставки:
| Тип | Код | Название | Что означает | Повторная доставка |
|---|---|---|---|---|
| Soft bounce | 4xx | Временная ошибка | Сервер получателя временно не принял письмо (перегрузка, лимит, ящик переполнен) | Да — ретраи по политике |
| Hard bounce | 5xx | Постоянная ошибка | Адрес не существует, письмо отклонено политикой, спам и т.п. | Нет — повтор бессмысленен |
Важно: не все провайдеры строго следуют RFC. Например, переполненный ящик у большинства сервисов — 452, а у Яндекса встречается 552 5.2.2 Mailbox size limit exceeded. Смотрите полный текст ответа в логе, а не только цифру.
Как SaM oTPravil обрабатывает баунсы
Кратко о цепочке доставки:
- Приём письма. Если адрес в стоп-листе, сервер сразу вернёт 550 bounced check filter — письмо не уйдёт на доставку. Подробнее: стоп-листы SMTP.
- Передача на сервер получателя. Если сервер ответил 4xx, включается политика ретраев (см. ниже).
- Постоянная недоставка (5xx) или исчерпание ретраев по 4xx — письмо попадает в отчёт «Недоставки» в личном кабинете SMTP. Адрес может быть добавлен в стоп-лист; для софт-баунса в ответе указывается ttl_date — дата выхода из стоп-листа.
- Уведомления. О событиях недоставки можно получать через вебхуки или смотреть в логах отправки.
Статус Completed в истории отправок означает, что письмо принято и отправлено с нашего сервера; строка ниже — ответ сервера получателя (250 ok — доставлено, иначе — код ошибки).
Политика ретраев при временных ошибках 4xx
Если сервер получателя временно недоступен или отвечает ошибкой класса 4xx, система автоматически выполняет повторные попытки доставки письма по следующему алгоритму:
Первые 2 часа — повторные попытки каждые 5 минут.
Следующие 16 часов — интервал постепенно увеличивается: старт 5 минут, коэффициент 1.1.
Оставшееся время до 24 часов — повторные попытки каждые 6 часов.
Если в течение всего периода сервер получателя продолжает возвращать временную ошибку 4xx, письмо остаётся в очереди ретраев максимум 24 часа, после чего доставка считается неуспешной.
ttl_date: что происходит после софт-баунса
После неудачной доставки из-за временной ошибки адрес может попасть в стоп-лист. В ответе сервера и в личном кабинете для таких случаев указывается параметр ttl_date — дата, когда адрес снова станет доступен для отправки.
- Если выход из стоп-листа невозможен, в ответе будет
ttl_date: 0. - Обычно с ttl_date ничего делать не нужно: после даты адрес автоматически вернётся в отправки.
Подробнее: Особенности интеграции с SMTP — дата выхода из стоп-листа и раздел «Стоп-листы» в личном кабинете.
Где смотреть ошибки недоставки
- Личный кабинет SMTP → Недоставки — отчёт за период с текстом ошибки по каждому адресу. Обзор разделов
- Личный кабинет SMTP → Отправки — история по message id, статусы и полный лог SMTP-сессии (кнопка «Показать»).
- Личный кабинет SMTP → Стоп-листы — поиск адреса, причина, ttl_date. Стоп-листы SMTP
- Вебхуки — автоматическое оповещение о недоставке. Вебхуки в SMTP
- API — документация
Если код ошибки непонятен — напишите в поддержку с email получателя, датой отправки и полным текстом ответа сервера.
Справочник: статьи по конкретным ошибкам
Используйте эту статью как хаб. Ниже — ссылки на разборы по провайдерам и типовым кодам.
Лимиты и политики почтовых провайдеров (блог)
| Ошибка / тема | Статья |
|---|---|
| Gmail: суточный лимит отправки | Daily user sending quota exceeded |
| Яндекс: policy rejection | Policy rejection on the target address |
| Mail.ru: лимит за час | Ratelimit exceeded for mailbox |
| Mail.ru: нет доступа к SMTP на тарифе | 535 Net dostupa na vashem tarife |
Справочник bounce-кодов (раздел /bounce)
| Код / тема | Страница |
|---|---|
| Все ошибки | Ошибки недоставки |
| 550 Spam Message Rejected | 550-spam-message-rejected |
| 550 5.7.1 Blocked by SpamAssassin | 550-5-7-1-blocked-by-spamassassin |
| 550 invalid mailbox | 550-message-was-not-accepted-ivalid-mailbox |
| 550 From address violates UsernameCaseMapped policy | 550-from-address-violates-usernamecasemapped-policy |
| 550 5.7.0 Message rejected (спам) | 550-5-7-0 |
SaM oTPravil: настройки и доставляемость
| Тема | Статья |
|---|---|
| Стоп-листы, 550 bounced check filter | Стоп-листы SMTP |
| Интеграция, ttl_date, очереди | Особенности интеграции с SMTP |
| SpamAssassin | Как работает спам-фильтр SpamAssassin |
| Техническая гигиена письма | Технически идеальное письмо |
| Срок хранения логов | Сколько хранятся логи SMTP |
Почему письмо не было доставлено: с чего начать
- Откройте Отправки или Недоставки в личном кабинете и скопируйте полный ответ сервера.
- Определите тип: 4xx (временно, были ретраи до 24 ч) или 5xx (постоянно).
- Если ошибка 550 bounced check filter — проверьте Стоп-листы и ttl_date.
- Если код из справочника /bounce — откройте соответствующую страницу.
- Если ошибка про лимит Gmail / Яндекс / Mail.ru — см. таблицу статей выше.
- Проверьте SPF, DKIM, DMARC и репутацию домена — см. технически идеальное письмо.
- Неясно — поддержка с email, датой и текстом ошибки.
Напишите в поддержку, если нужна помощь с разбором ошибки недоставки