Email API
Письма из вашего кода: подтверждения заказов, восстановление пароля, уведомления и массовые кампании — через REST API.
Продукт работает: отправка (/send, /batch), шаблоны, suppression-листы, вебхуки и трекинг открытий — токены в кабинете, описание в справочнике. SMTP-шлюз в разработке. Доступно клиентам MailerMail — узнать о запуске регистрации →
Контракт
Fig. 1 — отправка транзакционного письма. Контракт совместим с популярными зарубежными Email API: миграция — замена хоста и токена. Домен отправителя подтверждается в кабинете; до 50 получателей и 10 МБ вложений на запрос; свои headers, custom_variables и Idempotency-Key поддержаны. Ошибки — машиночитаемым JSON.
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. Без этого письма от вашего имени почтовики считали бы подделкой.