Отлаживайте обработку возвратов, не подвергая риску свою репутацию. Отправьте письмо на специальный blackhole-адрес — Haskimail не доставит его реально, а сгенерирует нужный тип события (жёсткий, мягкий возврат, блокировку или жалобу на спам) в вашем вебхуке и статистике.
Для каждого типа возврата — свой адрес. Отправьте на него письмо так же, как обычную транзакционную рассылку (через SMTP или API Haskimail).
Адрес не существует или почтовый сервер навсегда отверг письмо. Получатель должен быть немедленно исключён из базы.
Временная проблема: переполнен ящик, сервер недоступен. Отправку можно повторить позже — адрес пока остаётся в базе.
Письмо отклонено фильтром или репутационной системой принимающей стороны (Gmail, Mail.ru, Yandex). Сигнал проблем с доставляемостью.
Получатель нажал «Это спам». Приходит асинхронно через Feedback Loop провайдера. Жалобщика нужно немедленно отписать.
Регистр и разделители не важны. Поддерживаются варианты вроде
Hard_Bounce@…, HardBounce@…, hard-bounce@… —
всё это один и тот же тип. Также распознаются короткие синонимы: hard@, soft@,
block@, spam@.
Через свой аккаунт Haskimail (SMTP или HTTP API) отправьте обычное письмо на нужный адрес, например hardbounce@bounce-testing.haskimail.ru. Тема и содержание — любые.
Письмо не уходит в интернет. Вместо доставки Haskimail сразу формирует событие выбранного типа и присылает его на ваш webhook — точно так же, как при настоящем возврате.
Убедитесь, что ваша интеграция правильно разбирает bounced и complained, обновляет статусы подписчиков и реагирует на каждый тип так, как нужно вашему продукту.
Отправив письмо на hardbounce@bounce-testing.haskimail.ru, вы получите POST-запрос на свой webhook вида:
{
"event_type": "bounced",
"email": "hardbounce@bounce-testing.haskimail.ru",
"bounce_category": "hrd",
"bounce_code": "550",
"bounce_reason": "550 5.1.1 Recipient address rejected: user unknown (blackhole test)",
"message_id": "<ваш message_id>",
"custom_vars": "<ваши переменные>"
}
А письмо на spamnotification@bounce-testing.haskimail.ru придёт как событие complained с категорией spm — ровно так же, как настоящая жалоба через Feedback Loop.
Постоянная, необратимая ошибка доставки: ящика не существует, домен не принимает почту, адрес заблокирован навсегда. Сервер отвечает кодом 5xx. Такой адрес нельзя использовать повторно — это вредит репутации отправителя и копит жалобы. Правильная реакция: немедленно исключить адрес из базы и больше на него не писать.
Временная ошибка: ящик переполнен, сервер получателя недоступен, превышен лимит. Код 4xx. Это не приговор — отправку можно повторить позже. Обычно сервисы делают несколько попыток в течение нескольких дней, и если возврат стабильно повторяется, переводят адрес в жёсткий. Правильная реакция: повторить позже, но отслеживать частоту.
Принимающая сторона отклонила письмо из-за репутации, спам-фильтра или политики (часто — Gmail, Mail.ru, Yandex). Формально это тоже возврат, но причина не в адресе, а в вашем отправителе или содержимом. Сигнал к работе над доставляемостью: проверьте аутентификацию (SPF, DKIM, DMARC), прогрев IP, чистоту базы. Правильная реакция: разобрать причину и снизить интенсивность.
Получатель нажал кнопку «Это спам» в своей почте. Через Feedback Loop (FBL) — механизм, по которому провайдер уведомляет отправителя о жалобах, — Haskimail узнаёт об этом и присылает событие complained. В отличие от возвратов, жалоба приходит после доставки и асинхронно. Правильная реакция: немедленно и навсегда отписать жалобщика — повторная отправка резко повышает риск блокировки.
Чтобы получить настоящий жёсткий возврат, обычно нужно отправить письмо на несуществующий адрес — а это копит «отказы» на вашем домене. Blackhole-адреса дают тот же результат безопасно.
Вы заранее знаете, какое событие придёт. Можно гонять автотесты интеграции, не завися от поведения реальных почтовых серверов.
Жалобу на спам или блокировку провайдера в реальности воспроизвести почти невозможно. Здесь — один адрес на каждый случай.
Да. Как только Haskimail видит получателя на домене bounce-testing.haskimail.ru, письмо перехватывается до отправки и в интернет не уходит. Вместо доставки сразу формируется синтетическое событие выбранного типа.
Нет, тестовые отправки на blackhole-адреса бесплатны и не расходуют квоту вашего тарифа.
Практически сразу после обработки письма — как при реальном мгновенном отказе сервера. Событие проходит ту же очередь вебхуков, что и настоящие возвраты, поэтому формат и доставка идентичны боевым.
Нет. Перехват происходит до проверок отправителя, баланса и домена, поэтому тест работает сразу — даже на свежем аккаунте без подтверждённого домена.
Возвраты (hardbounce, softbounce, blocked) приходят как событие bounced с разной категорией: hrd, sft, blk. Жалоба на спам (spamnotification) приходит как отдельное событие complained с категорией spm. Так же это устроено и для настоящих возвратов.
Да. Ваш message_id и custom-переменные сохраняются и возвращаются в событии без изменений — удобно сопоставлять ответ с конкретной тестовой отправкой.
Сергей Спросите нас! Мы рады помочь вам с любой проблемой или вопросом.
Связаться с нами