Email API

Письма из вашего кода: подтверждения заказов, восстановление пароля, уведомления и массовые кампании — через REST API.

Продукт работает: отправка (/send, /batch), шаблоны, suppression-листы, вебхуки и трекинг открытий — токены в кабинете, описание в справочнике. SMTP-шлюз в разработке. Доступно клиентам MailerMail — узнать о запуске регистрации →

Контракт

Fig. 1 — отправка транзакционного письма. Контракт совместим с популярными зарубежными Email API: миграция — замена хоста и токена. Домен отправителя подтверждается в кабинете; до 50 получателей и 10 МБ вложений на запрос; свои headers, custom_variables и Idempotency-Key поддержаны. Ошибки — машиночитаемым JSON.

ваш бэкенд REST API MailerMail API auth ✓ · suppression ✓ идемпотентность ✓ SMTP-серверы транзакц. · bulk входящие ✉ delivered webhook: delivered · bounce · open · click · unsubscribe (HMAC-подпись)

Fig. 2 — путь письма и обратный поток событий.

Справочник API → Swagger UI тарифы

Зачем отдельный продукт для писем из кода

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

Если нужен кабинет для кампаний по базе — это Email-рассылки; проверить адреса перед отправкой поможет верификация.

Частые вопросы

Можно ли отправлять письма через SMTP?

Пока нет: сейчас работает REST API, SMTP-шлюз в разработке. Если ваше приложение умеет отправлять почту только по SMTP, дождитесь открытия шлюза — на REST можно перейти и позже.

Какие у API лимиты?

  • отправка (/send): до 50 получателей и 10 МБ вложений в одном запросе;
  • массовая отправка (/batch): до 500 писем в одном запросе, у каждого до 50 получателей, но суммарно не больше 1000 адресатов; вложения в /batch не поддерживаются;
  • до 120 запросов в минуту на токен — при превышении API отвечает кодом 429.

Как не отправить письмо дважды, если запрос повторился?

Передайте заголовок Idempotency-Key с уникальным значением. В течение 24 часов повторный запрос к /send или /batch с тем же ключом не создаст новых писем, а вернёт сохранённый ответ первого. Если первый запрос ещё выполняется, повтор получит код 409 — подождите и повторите. Ключ действует в пределах одного токена.

Как протестировать интеграцию, не отправляя писем живым людям?

Выпустите в кабинете тестовый токен. Письма с ним проходят весь путь — проверку домена, стоп-лист, шаблон и подстановки — и видны в журнале сообщений API (GET /api/v1/messages, с пометкой sandbox), но физически не отправляются и событий в вебхуки не порождают. Staging не заспамит реальных пользователей.

Какие события приходят в вебхуки?

Отправка, отказ, жалоба, открытие, клик, отписка, ошибка отправки и блокировка по стоп-листу. События приходят пачками до 500 штук, каждая подписана HMAC — так приёмник убеждается, что запрос пришёл от нас. Недоставленные события отправляются повторно около часа (до 6 попыток). После 5 неудачных доставок подряд вебхук ставится на паузу — и события, случившиеся за время паузы, в очередь не попадают и потом не восстанавливаются.

Нужно ли подтверждать домен отправителя?

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