ESP: NotiSend (CIS)7 min read

NotiSend: seed-тест для транзакционных писем

NotiSend специализируется на транзакционных письмах — password reset, order confirmation, OTP. Каждое такое письмо критично, и Spam-placement превращается в потерянную выручку. Seed-тест показывает реальный inbox rate по 20+ провайдерам.

NotiSend — российский ESP, выросший из решения для транзакционных уведомлений. Платформа закрывает классический стек: SMTP-relay, REST API, webhook-уведомления, шаблоны, логирование, SMS/Viber как дополнительные каналы. Основной use-case — именно transactional email: регистрации, подтверждения заказов, коды подтверждения, reset password, системные уведомления.

Коротко

Транзакционные письма особенно больно страдают от Spam-placement: пользователь не получает OTP-код — не проходит регистрацию. NotiSend показывает delivered 98%+ на своих отчётах, но реальный inbox rate на Mail.ru, Yandex, Gmail может быть 60–80%. Seed-адреса в рассылке выявляют это за 5 минут.

Почему placement для transactional критичнее, чем для маркетинга

В маркетинговой рассылке попадание 20% писем в Promotions или Spam — неприятно, но не фатально. Оставшиеся 80% дадут метрики, проведут клиента по воронке. Транзакционные письма устроены иначе: каждое письмо критично для конкретного пользователя.

  • OTP-код в Spam — пользователь не логинится, не оплачивает, уходит к конкуренту.
  • Password reset в Promotions — клиент пишет в саппорт, увеличивает costs и negatively повлияет на NPS.
  • Order confirmation в Spam — клиент думает, что оплата не прошла, делает chargeback.
  • Invoice / receipt в Spam — бухгалтерский и compliance-риск для B2B.

Именно поэтому для NotiSend seed-тестирование — не опциональная гигиена, а обязательная часть production pipeline.

Интеграция seed-адресов через API

В отличие от маркетинговых ESP, где seed-лист — это просто ещё одна аудитория, транзакционные платформы не имеют «списков получателей». Письма улетают через API по событию. Значит, seed-адреса надо встраивать в код вызова API.

Подход 1: BCC-поле

Самый простой вариант — дублировать каждое транзакционное письмо на seed-адреса через BCC. NotiSend API поддерживает BCC в запросе:

POST /api/v1/email/send
{
  "from": { "email": "noreply@yourdomain.com" },
  "to": [{ "email": "user@example.com" }],
  "bcc": [
    { "email": "seed-gmail-01@seedbox.example" },
    { "email": "seed-mailru-01@seedbox.example" },
    { "email": "seed-yandex-01@seedbox.example" }
  ],
  "subject": "Ваш код подтверждения: 42817",
  "html": "..."
}

Минус подхода — BCC-копия содержит реальные данные пользователя (OTP, имя). Для compliance-чувствительных отраслей (банки, медицина, e-gov) это недопустимо.

Подход 2: Параллельный тестовый канал

Более чистый способ: перед деплоем новой версии шаблона отправлять dummy-payload только на seed-адреса, с фиктивным OTP и фиктивными персональными данными. Это делается через отдельный API-вызов, например:

POST /api/v1/email/send
{
  "from": { "email": "noreply@yourdomain.com" },
  "to": [
    { "email": "seed-gmail-01@seedbox.example" },
    { "email": "seed-mailru-01@seedbox.example" },
    ...
  ],
  "subject": "[TEST] Ваш код подтверждения: 00000",
  "html": "<html>...</html>"
}

Этот подход встраивается в CI/CD: при каждом деплое шаблона запускается seed-рассылка, результаты собираются из Inbox Check API, и pipeline fails, если Inbox rate ниже threshold.

Получите 20+ seed-адресов бесплатно

Бесплатный инструмент Inbox Check генерирует 20+ свежих seed-адресов в Gmail, Outlook, Yahoo, Mail.ru, Yandex, ProtonMail и других. Без регистрации, без карты.

→ Запустить бесплатный тест

Разбор результатов по ключевым провайдерам

Gmail

Для transactional письма целевое состояние — Primary, не Promotions. Gmail умеет отличать транзакционные письма от маркетинговых на основе: уникальности контента, наличия One-Click Unsubscribe (для transactional он не нужен и даже вреден), низкой периодичности на конкретного получателя. Если ваш OTP стабильно уходит в Promotions — проверьте, не включили ли вы List-Unsubscribe header в шаблон.

Mail.ru

Mail.ru не различает transactional и bulk чётко — классификация идёт по содержимому и sender reputation. Для transactional писем целевое — «Входящие» с Inbox rate ≥ 90%. Если seed-тест показывает «Рассылки» — письмо выглядит как маркетинг. Причины: много изображений, CTA-кнопки, футер с promo-блоком.

Yandex

Yandex аккуратнее с transactional: если From стабилен и шаблон не похож на маркетинг, письма идут в Inbox. Проблема обычно всплывает, когда B2C-сервис начинает слать и маркетинг, и transactional с одного домена — reputation «размывается», и transactional начинает попадать в Spam.

Outlook / Hotmail

Outlook самый жёсткий для transactional. SmartScreen часто классифицирует автоматические письма как Junk. Минимальный фикс — DKIM на sending-домене, DMARC p=quarantine, регистрация в SNDS и JMRP.

Стратегия разделения доменов

Базовая практика для любого сервиса, отправляющего и маркетинг, и transactional через NotiSend: разные subdomain для разных типов писем.

mail.yourdomain.com     &rarr; маркетинг (newsletters, промо)
notify.yourdomain.com   &rarr; transactional (OTP, receipts)
support.yourdomain.com  &rarr; человеческая переписка

Такое разделение даёт три независимых reputation-профиля. Если маркетинговая рассылка уйдёт в проблемы и domain reputation упадёт на mail.yourdomain.com, ваши OTP-письма сnotify.yourdomain.com останутся в Inbox.

Не экономьте на поддомене для transactional

Отправка OTP с того же домена, что и маркетинг, — самая частая ошибка на CIS-рынке. Один плохой релиз маркетинга убивает reputation всего домена — и следом ложится вход в приложение. Разделение поддоменов стоит 10 минут работы в DNS и окупается первой же инцидентной неделей.

Автоматизация проверки

На production-масштабе ручной seed-тест перед каждым релизом — не работает. Нужна автоматизация:

  1. В CI/CD (GitHub Actions, GitLab CI) при deploy новой версии шаблона — запускайте скрипт, который через NotiSend API отправляет dummy-payload на seed-адреса.
  2. Скрипт вызывает Inbox Check API через 2–3 минуты и получает JSON с результатами по каждому провайдеру.
  3. Если Inbox rate на любом ключевом провайдере (Gmail, Mail.ru, Yandex) ниже threshold (например, 85%) — pipeline fails, деплой откатывается, в Slack летит alert.
  4. Раз в неделю — scheduled-job, гоняющий все живые шаблоны транзакционных писем через seed-тест. Так вы ловите drift от изменения reputation, не связанных с вашими релизами.

Часто задаваемые вопросы

NotiSend показывает 99% delivered. Зачем ещё что-то тестировать?

Delivered — это SMTP-acceptance, не inbox placement. Между приёмом письма MTA провайдера и папкой Inbox стоит стек фильтров. На shared-пулах разрыв может быть 15–30 процентных пунктов. Для transactional писем это означает, что до 30% ваших OTP-кодов не доходят до пользователей.

Можно ли слать BCC на seed-адреса в продакшене?

Технически — да, но это нарушает принцип разделения данных. Реальный OTP пользователя уходит на сторонний ящик. Для PCI DSS, HIPAA, 152-ФЗ это прямое нарушение. Используйте параллельный тестовый канал с dummy-payload.

Надо ли тестировать каждый шаблон отдельно?

Да. Inbox placement зависит от контента. OTP-шаблон и order-confirmation шаблон могут показывать разный placement даже при одинаковом sender domain. Минимум — один seed-тест на каждый активный шаблон раз в неделю.

Как быстро обновляется Inbox Check?

Результаты seed-рассылки появляются в интерфейсе за 2–3 минуты. Inbox Check показывает скриншоты папок, папка приземления, SPF/DKIM/DMARC статусы и вердикты spam-движков для каждого провайдера.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required