27 апр. 2025 г.·8 мин чтения

Основы доставляемости почты для надёжных служебных сообщений продукта

Основы доставляемости электронной почты для продуктовых команд: настройка домена, обработка отказов, отслеживание жалоб и обеспечение доставки писем о регистрации, сбросе пароля и чеках.

Основы доставляемости почты для надёжных служебных сообщений продукта

Почему транзакционная почта ломается в реальных продуктах

Приложение может выглядеть отлично, но при этом давать сбои в доставке почты. Пользователь регистрируется, кликает «сбросить пароль» или завершает покупку — и в приложении всё фиксируется. А письмо приходит с опозданием, попадает в спам или вовсе не приходит.

Это несоответствие быстро наносит реальный урон. Пользателю безразлично, что база данных сохранила событие, если письмо для сброса пароля не дошло до почтового ящика. С его точки зрения продукт сломан.

Письма о регистрации, чеки и сбросы пароля чаще всего сбоят по нескольким типичным причинам. Домен отправителя может быть настроен неправильно. Почтовый провайдер может фиксировать много отказов. Резкий всплеск объёма отправки выглядит подозрительно. Иногда сообщение технически доставлено, но попадает в папку «Спам», где большинство пользователей его не увидит.

С последним моментом команды часто не учитывают тонкую разницу. «Доставлено» означает, что сервер получателя принял сообщение. Размещение в папке «Входящие» — другое дело: письмо могло попасть в спам, «Промоакции» или в фильтрованную папку. У вас могут быть нормальные показатели «доставлено», но плохой опыт у пользователей.

Ранние признаки обычно легко пропустить:

  • заявки в поддержку с формулировкой «я не получил письмо»
  • пользователи нажимают «выслать заново» два-три раза
  • запросы на сброс пароля растут быстрее, чем входы в систему
  • чеки приходят с задержкой после покупки
  • тестовые письма у команды работают, а у клиентов — нет

Небольшой пример проясняет ситуацию. Клиент оформляет покупку, видит страницу подтверждения и списание средств. Система формирует чек мгновенно, поэтому внутри приложения всё кажется в порядке. Но если домен отправителя имеет проблемы с репутацией, чек может оказаться в спаме или задержаться. Платёж прошёл — доверие сорвано.

Поэтому основы доставляемости почты важны для продуктовых команд, а не только для маркетинга. Системные письма — часть продукта. Когда почта начинает «шалить», пользователи почувствуют это раньше, чем ваш дашборд покажет проблему.

Как выглядит хорошая доставляемость

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

Для команд, которые изучают основы доставляемости, самый простой ориентир — ожидание пользователя. Если человек запросил сообщение, узнал его и нуждался в нём сразу, почтовые провайдеры обычно лучше реагируют.

Несколько терминов важны:

  • «Sent» — ваше приложение передало сообщение почтовому провайдеру.
  • «Delivered» — сервер получателя принял сообщение.
  • «Bounced» — сервер отклонил сообщение.
  • «Complained» — пользователь пометил письмо как спам.

«Delivered» не всегда значит «входящие». Сообщение всё ещё может оказаться в спаме или «Промоакциях», поэтому жалобы пользователей имеют большое значение.

Отказы бывают двух типов. Hard bounce — постоянный отказ, например адреса не существует. Soft bounce — временная проблема: переполненный ящик или кратковременный сбой сервера. Soft кажется безобидным, но повторяющиеся soft-отказы при бесконечных повторах отправки всё равно портят репутацию отправителя.

Уровень жалоб часто говорит больше, чем открытие письма. Трекинг открытий сейчас ненадёжен: многие почтовые клиенты предзагружают картинки или блокируют трекинг. Жалоба «спам» гораздо яснее: она показывает провайдерам, что реальный человек не хотел это письмо.

Даже небольшая доля жалоб может создать проблемы. Если пользователи нажимают «спам» на письмах со сбросом пароля, уведомлениях о счёте или кодах входа, провайдеры начинают сомневаться во всём потоке писем от вас.

Простой пример: если человек регистрируется и в течение нескольких секунд получает подтверждение — это соответствует его действию. Если же он получает сначала три промо‑письма, рассылку и купон до подтверждения, вероятность жалобы сильно растёт.

Хорошая доставляемость — это не больше писем, а правильные письма: к правильному человеку и в нужное время.

Настройте домен отправителя по шагам

Большинство проблем с доставкой начинаются в DNS, а не в приложении. Если продукт отправляет письма о регистрации, чеки и сбросы пароля с того же домена, что и рассылка маркетинга, диагностировать проблему сложнее, а риск для репутации выше.

Начните с отдельного поддомена для служебной почты, например notify.example.com или mail.example.com. Это отделит транзакционный трафик. Если у маркетинга возникнут жалобы или в список попадут плохие адреса, коды входа и платежные уведомления останутся в отдельной «полосе».

Для основ доставляемости это одно из лучших ранних решений: просто и экономит много проблем.

Далее добавьте три DNS‑записи, которые показывают принимающим серверам, что ваша почта реальна. SPF указывает, какие серверы могут посылать почту для домена. DKIM добавляет цифровую подпись к каждому сообщению. DMARC указывает провайдерам, что делать при ошибках проверок, и куда отправлять отчёты.

Чистая настройка обычно выглядит так:

  • создайте поддомен только для продуктовой почты
  • добавьте SPF для вашего почтового провайдера
  • включите DKIM и опубликуйте DNS‑записи провайдера
  • добавьте политику DMARC и почтовый ящик для отчётов
  • подтвердите домен в панели вашего почтового провайдера

После этого отправьте реальные тестовые письма на несколько разных почтовых сервисов. Откройте заголовки письма и проверьте результаты аутентификации. Вы хотите увидеть прохождение SPF, DKIM и DMARC. Также убедитесь, что видимый From, return‑path и подписанный домен логически согласованы.

Не останавливайтесь на одном успешном тесте. Отправьте письмо для сброса пароля, приветственное письмо и чек, если они у вас есть. Разные шаблоны иногда используют разные настройки отправителя, и одна сломанная цепочка может скрываться неделями.

Назначьте ответственность за DNS одному человеку. Он не обязан делать каждое изменение, но должен утверждать правки, вести учёт изменений и проверять настройку после смены провайдера, переноса домена или релизных работ. Совместная ответственность звучит хорошо, пока никто не замечает удалённую DKIM‑запись.

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

Отделите продуктовую почту от массовых рассылок

Когда все письма идут по одному каналу, проблема распространяется быстро. Слабая промо‑кампания может навредить сбросам пароля, кодам входа, счетам и уведомлениям о безопасности. Это одно из самых простых правил по доставляемости и одно из самых игнорируемых.

Продуктовая почта должна иметь свой поток. Сброс пароля и чеки не должны делить идентичность отправителя, паттерны трафика или логику повторных отправок с массовыми рассылками. Если у маркетинга всплеск жалоб, вы не хотите, чтобы репутация мигрировала на уведомления о безопасности через пять минут.

Чистое разделение обычно начинается с типа сообщений. Большинству продуктов достаточно минимум двух потоков:

  • транзакционная почта для доступа к аккаунту, чеков и уведомлений о безопасности
  • массовая почта для рассылок, промо и ре‑активаций

Это помогает провайдерам лучше понимать назначение писем и упрощает отладку. Если чеки идут с задержкой, можно смотреть только на поток транзакций, а не перелопачивать кампанию, разосланную на 80 000 человек утром.

Ясные имена отправителей важнее, чем многие думают. Люди открывают и доверяют письмам быстрее, когда отправитель соответствует назначению. «Acme Accounts» подходит для писем о входе и безопасности. «Acme Billing» — для чеков и уведомлений о платёжах. Промо нужно визуально отличать, чтобы пользователь не спутал скидку с предупреждением об аккаунте.

Ограничения скорости тоже должны отличаться. Массовые кампании могут идти волнами. Продуктовая почта должна быть стабильной и быстрой, даже при всплесках трафика. Правила повторной отправки тоже зависят от типа сообщения: сброс пароля через 45 минут почти бесполезен, тогда как чек может выдержать более медленную политику ретраев.

Смешивание промо и уведомлений создаёт сложные крайние случаи. Пользователь, отписавшийся от маркетинга, всё равно должен получать счёт и уведомления о безопасности. Если всё живёт в одном потоке, команды часто принимают неверные решения и подавляют письма, которые должны доставляться.

Держите разделение простым и строгим. Это предотвращает, чтобы маркетинговая ошибка вылилась в тикеты поддержки, неудачные входы и потерю доверия.

Обрабатывайте отказы, прежде чем они накопятся

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

Отказ — это не просто неудачная отправка. Это сигнал: нужно изменить поведение. Если продолжать слать на «плохие» адреса, провайдеры начнут считать вашу почту небрежной, и сбросы пароля или чеки могут попасть в спам в самый неподходящий момент.

Для hard bounce правило простое: прекратить сразу. Если адрес не существует, домен удалён или сервер отвечает, что почтовый ящик недействителен — не отправляйте повторно. Один лишний повтор редко помогает, а повторные отправки портят репутацию.

Soft bounce — другое дело. Ящик может быть переполнен, сервер мог быть временно недоступен или провайдер откладывает письмо из‑за нагрузки. Повторяйте отправку, но установите жёсткий лимит. Для большинства продуктовых команд 2–3 повтора в короткое окно — достаточно. После этого пометьте адрес на проверку, вместо того чтобы слать бесконечно.

Сохраняйте детали отказа каждый раз:

  • причину от провайдера
  • время события
  • тип сообщения, вызвавшего отказ: регистрация, счёт, сброс пароля и т. п.

Последний пункт важнее, чем кажется. Если после релиза письма для сброса пароля начали soft‑отваливаться, возможно, проблема в форматировании или маршрутизации. Если чеки отвалились после импорта клиентов, в списке, вероятно, много устаревших или неправильно введённых адресов.

Система отправки и база пользователей должны согласовываться. Когда провайдер сообщает hard bounce, обновите запись пользователя сразу. Не оставляйте одну систему пытающейся подавлять адрес, пока другая всё ещё ставит его в очередь. Такое рассогласование даёт шум в логах, бессмысленные повторы и спутанную поддержку.

Простой пример: команда импортирует 20 000 контактов из старого CRM и в тот же день видит рост отказов. Это не случайность: в старых записях часто есть «мертвые» ящики, ролевые адреса или опечатки. Решение — приостановить рассылки этому сегменту, проанализировать причины отказов и очистить данные перед следующей отправкой.

Это одна из самых простых частей доставляемости: относитесь к каждому отказу как к данным, а не к фоновому шуму, и ваши транзакции станут гораздо надёжнее.

Следите за петлями жалоб и сигналами отписки

Отказ сообщает, что адрес не сработал. Жалоба говорит, что человек настолько разозлился, что нажал «спам». Это сигнал порой хуже, потому что провайдеры используют его при оценке, стоит ли вообще помещать ваши письма во входящие.

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

Обращайтесь с жалобами как с командой «стоп»

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

Простое правило работает хорошо:

  • подавляйте адрес после первой жалобы
  • прекращайте все непредусмотренные письма сразу
  • пересмотрите, нужно ли приостанавливать обязательные продуктовые уведомления
  • логируйте источник жалобы и тип сообщения

Команды иногда пропускают последний шаг. Если жалобы концентрируются вокруг напоминаний о пробном периоде, счетов или онбординга, проблема может быть в самом сообщении. Проверьте тему, время отправки и частоту. «Подтвердите аккаунт» одно письмо — нормально. Та же напоминалка, отправленная четыре раза за два дня, начинает выглядеть как спам.

Отписка — полезный сигнал

Для необязательной почты отписка должна быть простой и работать быстро. Новости, советы, обновления функций и кампании по возврату должны прекращаться при отписке. Люди часто нажимают «спам», когда отписка спрятана, медлит или игнорируется.

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

Это не самая гламурная часть доставляемости, но она спасает реальные проблемы. Небольшое снижение числа жалоб обычно важнее любой хитрой A/B‑тестовой темы.

Простой сценарий: от регистрации до сброса пароля

Улучшить логику обработки отскоков
Остановите петли повторных отправок, подавляйте некорректные адреса и синхронизируйте записи пользователей.

Пользовательский поток продуктовой почты должен казаться пользователю скучным: регистрируется, быстро получает нужное письмо и продолжает работу. Это и есть цель хорошей доставляемости.

Типичный путь состоит из четырёх моментов. Подтверждение аккаунта доказывает, что адрес реальный. Приветственное письмо ставит ожидания. Чек даёт запись о покупке. Позже сброс пароля возвращает пользователя в систему, если что‑то пошло не так.

Каждый шаг зависит не только от отправки из приложения. Сначала должна быть правильная настройка домена, иначе провайдеры могут не поверить письму до того, как пользователь его увидит. При отсутствии или рассогласовании DNS‑записей подтверждения аккаунта часто идут первыми и падают.

Шаблоны важны. Письмо с подтверждением должно быть коротким, понятным и содержать одно действие. Чек должен включать точные детали покупки. Если шаблон неясен, плохо смотрится на мобильных устройствах или кнопка отсутствует, пользователи обращаются в поддержку, даже когда доставка технически прошла.

Правила подавления формируют весь поток. Если при регистрации произошёл hard bounce, приветствие и чек не должны продолжать попытки отправки на тот же «мертвый» адрес. Если пользователь пометил раннее письмо как спам, сброс пароля может быть автоматически заблокирован, если команда не проверит ситуацию вручную.

Для писем сброса пароля нужны более строгие правила, чем для большинства служебных сообщений:

  • ссылка сброса должна быстро истекать
  • разрешать повторную отправку, но ограничивать частоту
  • инвалидировать старые ссылки после новой отправки
  • показывать пользователю, когда было отправлено последнее письмо

Когда что‑то ломается, поддержке нужен простой журнал событий. Они должны видеть, создало ли приложение сообщение, какую версию шаблона использовало, находится ли адрес в подавлении и пометил ли провайдер сообщение как отправленное, доставленное, отклонённое или отмеченное жалобой.

Это экономит массу времени: поддержка может сказать «адрес отвалился» или «ссылка истекла», а инженеры не будут гоняться за вымышленными проблемами.

Частые ошибки продуктовых команд

Многие основы доставляемости пропускаются, потому что в разработке почта «работает». Затем продукт выходит в продакшн, сбросы паролей начинают попадать в спам, и команда понимает слишком поздно, что «sent» не значит «delivered».

Одна частая ошибка — отправка с основного домена компании до тех пор, пока SPF, DKIM и DMARC не настроены и не проходят проверки. Команды видят один удачный тест и перестают проверять дальше. Почтовые провайдеры менее снисходительны: при неполных или несогласованных записях даже рутинная почта выглядит подозрительно.

Другая плохая привычка — смешивать всё в одну аудиторию и один поток отправки. Маркетинговые кампании, советы по онбордингу, чеки и уведомления о безопасности не должны пользоваться одной и той же гигиеной списка и репутацией. Если промо‑рассылка получит плохое вовлечение или много жалоб, письма для подтверждения аккаунтов могут пострадать.

Качество списка наносит тихий урон. Команды импортируют старые контакты, держат ролевые адреса вроде info@ или sales@ или игнорируют опечатки типа gmial.com. Такие адреса чаще отваливаются, игнорируются и делают отправителя «шумным».

Логика повторных отправок тоже может усугубить проблему. Если провайдер отверг сообщение, некоторые системы продолжают пытаться снова и снова без ограничений. Такое поведение очень похоже на спам. Для soft‑ошибок нужны аккуратные повторы, для hard — остановка.

Изменения идентичности отправителя создают проблемы. Новое имя отправителя, новый From‑адрес или переработанный шаблон могут изменить оценку письма у провайдеров. Команды считают такие правки безобидными, но размещение во входящих может измениться очень быстро.

Более безопасная рутина — скучная, и в этом её сила:

  • завершите проверки домена перед отправкой реальной почты
  • держите транзакционный и маркетинговый трафик раздельно
  • блокируйте ролевые адреса и ловите распространённые опечатки при вводе
  • ограничивайте повторы и подавляйте hard‑bounces
  • тестируйте изменения отправителя и шаблонов на небольшой выборке

Простой пример: команда запускает новый поток регистрации и в первый день отправляет приветственные письма с основного домена. В тот же момент маркетинг загружает старый список в тот же аккаунт отправки. Рост отказов, увеличение жалоб и задержки в сбросах пароля следуют почти мгновенно. По отдельности изменения не выглядели серьёзными. Вместе они подорвали доверие провайдеров.

Небольшие изменения в почте требуют такого же внимания, как изменения логина или биллинга. Если сброс пароля не сработал в пятницу вечером, пользователю безразлично, что DNS «выглядело хорошо» в скриншоте.

Короткий чек‑лист перед каждым релизом

Разделите транзакционные и промо‑письма
Защитите квитанции и коды входа, разделив транзакционные письма и маркетинговые кампании.

Небольшие баги с почтой редко начинаются с больших сбоев. Изменённая DNS‑запись, сломанный вебхук или слишком агрессивное правило ретраев могут превратить обычные служебные письма в тикеты поддержки в течение часа.

Проверьте домен отправителя перед релизом. Убедитесь, что SPF, DKIM и DMARC всё ещё проходят, и From‑адрес согласован с доменом, который подписывает сообщение. Команды часто меняют настройку провайдера или поддомен и не замечают, пока сбросы паролей не начнут попадать в спам.

Пройдите пользовательские пути «от конца до конца» с новыми тестовыми аккаунтами. Зарегистрируйтесь, запросите сброс пароля, инициируйте чек или письмо подтверждения. Читайте сообщения в реальном почтовом ящике, а не только в логах провайдера, чтобы поймать задержки, неверные reply‑адреса или сломанные шаблоны.

Проверьте пути обратной связи. В безопасной тестовой среде вызовите хотя бы один hard bounce и одну жалобу, и убедитесь, что эти события приходят в ваше приложение. Если приложение их не фиксирует, правила подавления устареют, и повторы будут отправляться на те же плохие адреса.

Пересмотрите правила повторной отправки перед релизом. Подавлённые пользователи должны оставаться подавлёнными, а потоки вроде сброса пароля должны иметь чёткие лимиты. Если один пользователь кликает дважды и получает шесть писем, это не только раздражает — это повышает риск жалоб.

В течение первого часа после релиза один человек должен быть ответственен за мониторинг почты. У него должен быть доступ к приложению, панели почтового провайдера и свежим логам. Ему стоит смотреть:

  • объём отправки относительно обычного
  • всплески отказов
  • всплески жалоб
  • задержки в очереди на письма регистрации и сброса пароля
  • повторные отправки на один и тот же адрес

Это скучно, но экономит время. Хорошие релиз‑привычки связывают основы доставляемости с реальным поведением продукта, а не с догадками. Oleg Sotnikov часто настаивает на таком подходе в продуктовой эксплуатации: десятиминутная проверка перед запуском дешевле восстановления репутации позже.

Что делать, если почта уже выглядит нестабильно

Если продуктовая почта начинает приходить с задержкой, попадать в спам или пропадать, не начинайте с правки шаблона. Многие команды тратят дни на смену тем и кнопок, тогда как настоящая причина в DNS, правилах подавления или обработке событий.

Начните с одного чистого аудита и одного полного теста. Те же основы доставляемости актуальны и для живого продукта.

  • Проверьте настройку домена отправителя: SPF, DKIM, DMARC, return‑path и домен, который использует ваш провайдер для отправки.
  • Прогоните один end‑to‑end тест через реальный пользовательский путь, например регистрацию или сброс пароля.
  • Сопоставьте каждый шаг: триггер в приложении, очередь задач, приём провайдером, события вебхуков и результат в почтовом ящике.
  • Проверьте логику подавления на предмет hard‑bounce, жалоб и ручных отписок.

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

Исправьте логику подавления прежде, чем менять тексты или дизайн. Плохие правила подавления могут тихо сломать все последующие тесты. Частая ошибка — трактовать soft‑отказы как постоянные или подавлять адрес без фиксации причины. Тогда поддержка не объяснит пользователю, а инженеры не поймут, верна ли блокировка.

После этого анализируйте тренды еженедельно. Следите за hard‑ и soft‑отказами, жалобами, задержками доставки и числом подавлённых адресов. Если один почтовый провайдер начал отклонять письма после релиза, рассматривайте это как продуктовую проблему, а не как маркетинговую мелочь.

Небольшой пример: сбросы пароля не доходят до пользователей на одном корпоративном домене. Причина может быть не в тексте письма, а в том, что ваш домен не выровнен по подписи, либо провайдер слишком медленно повторяет отправку для критичных сообщений.

Когда проблема пересекает код, DNS, очереди и инфраструктуру, короткая консультация с Fractional CTO Oleg Sotnikov может сэкономить время. Он работает и с архитектурой ПО, и с продакшен‑инфраструктурой, что полезно, когда почта падает по нескольким причинам одновременно.