Email API · 21 сентября 2026 г.

Почему одни и те же 50 000 писем стоят $5 или $66

Подробный разбор разброса цен на email API. Выясняем, почему один и тот же объём в 50 тыс. писем стоит у разных провайдеров в 13 раз по-разному и как выбирать с учётом ваших инженерных ограничений.

Откуда берётся разница в цене

Разница в цене сводится к бизнес-модели: инфраструктура или платформа. Amazon SES продаёт «сырые» вычисления и пропускную способность (инфраструктуру), а провайдеры вроде Postmark или Mailgun продают управляемый сервис (платформу): более удобный интерфейс, профильную поддержку и отобранные пулы IP-адресов. За 50 000 писем SES с оплатой по факту берёт примерно $5, а на тарифах Postmark сумма может дойти до $66. Вы платите за снижение операционной нагрузки и качество инструментов вокруг API.

Считаем: 50 000 писем

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

Инфраструктурный подход: Amazon SES

Amazon SES — базовая точка отсчёта по стоимости. Согласно их странице с ценами, отправка с оплатой по факту стоит $0.10 за 1 000 писем.

  • Расчёт: (50 000 / 1 000) * $0.10 = $5.00.

Однако 21 июля 2026 года AWS ввела новые многоуровневые тарифы. На тарифе Essentials стоимость составит $0.16 за 1 000 писем. Тариф Pro — $0.22 за 1 000 плюс $105 в месяц за каждый регион. Тариф Enterprise — $0.23 за 1 000 плюс $500 в месяц. Для небольшой продуктовой команды оплата по факту дешевле всего, но вся настройка при этом ложится на инженера.

Платформенный подход: Postmark и Mailgun

Провайдеры вроде Postmark и Mailgun делают ставку на удобство для разработчиков. Согласно ценам Postmark, базовый тариф стоит $15 в месяц за 10 000 писем. Превышение стоит от $1.80 до $1.20 за 1 000 писем.

  • Расчёт (Postmark): $15 (первые 10 тыс.) + (40 000 / 1 000 * $1.20) = $15 + $48 = $63. (В зависимости от конкретного тарифа сумма может дойти до $66.)

Аналогично, цены Mailgun начинаются от $15 в месяц за 10 000 писем, превышение — от $1.80 до $1.10 за 1 000. Эти провайдеры предлагают хранимые шаблоны и более понятную аналитику, что оправдывает наценку для команд, которые не хотят строить собственные панели мониторинга.

Современная золотая середина: Resend

Resend ориентирован на современный продуктовый стек. На их странице с ценами указан бесплатный тариф на 3 000 писем в месяц (не более 100 в день). Тариф Pro стоит $20 в месяц за 50 000 писем, превышение — $0.90 за 1 000.

  • Расчёт (Resend): фиксированные $20 за первые 50 000.

Приём, доставка и размещение: принципиальная разница

Частая ошибка в инженерной документации — использовать эти три термина как синонимы. Это разные вещи, и ни один API не может гарантировать последний шаг.

  1. Приём: это ответ API. Когда вы отправляете POST-запрос с полезной нагрузкой на эндпоинт, провайдер возвращает 202 Accepted или 200 OK. Это означает лишь, что провайдер получил запрос и тот прошёл базовую валидацию. Это не значит, что письмо ушло.
  2. Доставка: это SMTP-рукопожатие. Провайдер пытается передать письмо принимающему серверу получателя. Событие «delivered» означает, что принимающий сервер ответил: «Я его принимаю».
  3. Размещение во «Входящих»: это конечная точка. Принимающий сервер (Gmail, Outlook и т. д.) решает, попадёт ли письмо во «Входящие», на вкладку «Промоакции» или в «Спам». Это определяется внутренними фильтрами получателя, вашей репутацией отправителя и записями аутентификации.

Чтобы повысить шансы на доставку, нужно правильно настроить DNS. Рекомендую проверять распространение записей с помощью DNS-чекера. Строго следуйте руководству по DKIM, SPF и DMARC, чтобы подтвердить, что вы — тот, за кого себя выдаёте.

Инженерия надёжности

Отправка письма — внешний побочный эффект. В распределённой системе побочные эффекты опасны: они могут дублироваться или молча завершаться сбоем.

Проблема идемпотентности

Если сервер приложения получил тайм-аут, ожидая ответа от email API, вы не знаете, было ли письмо отправлено. Если просто повторить запрос, пользователь получит два письма. Именно поэтому необходим ключ идемпотентности.

Ключ идемпотентности — это уникальный идентификатор (обычно UUID), передаваемый в заголовке. Если API видит один и тот же ключ дважды, он возвращает сохранённый ответ на первый успешный запрос вместо отправки второго письма.

{ "idempotency_key": "req_8823_abc_123", "from": "notifications@example.com", "to": "user@gmail.com", "subject": "Your Order has Shipped", "body": "Your package is on the way!" }

Отправка по инициативе агентов

С распространением ИИ-агентов и MCP-серверов становится всё больше общения «агент — агент» (A2A). У агентов никогда не должно быть неограниченного доступа к API отправки. Если LLM зациклится, она за считаные минуты израсходует квоту в 50 000 писем и уничтожит вашу репутацию отправителя.

Внедрите процесс согласования для агентов:

  1. Черновик: агент формирует письмо и сохраняет его в таблицу pending_emails.
  2. Человек в контуре: пользователь или агент-супервизор проверяет содержание.
  3. Выполнение: система вызывает API только после того, как установлен флаг status = 'approved'.

Технический чек-лист миграции

Если вы переходите с дорогого провайдера на более дешёвый (или наоборот), не ограничивайтесь заменой API-ключа. Используйте этот чек-лист:

  • Аудит DNS: проверьте SPF-записи. Убедитесь, что не превышаете лимит в 10 DNS-запросов.
  • Сопоставление вебхуков: у каждого провайдера свои названия событий. Сопоставьте delivered у провайдера A с sent у провайдера B.
  • Синхронизация стоп-листа: выгрузите списки отказов и жалоб. Если импортировать 50 000 пользователей к новому провайдеру и отправить письма на заведомо недоставляемые адреса, аккаунт сразу заблокируют.
  • Обработка лимитов запросов: реализуйте экспоненциальную задержку (exponential backoff) для ошибок 429 Too Many Requests.

Пример логики обработки ошибок

async function sendWithRetry(payload, attempt = 1) { try { const response = await emailApi.send(payload); return response; } catch (error) { if (error.status === 429 && attempt <= 3) { const delay = Math.pow(2, attempt) * 1000; await new Promise(res => setTimeout(res, delay)); return sendWithRetry(payload, attempt + 1); } throw error; } }

Как выбрать подходящий инструмент

Если вы разработчик-одиночка и делаете прототип, вам хватит бесплатного тарифа Resend или оплаты по факту в SES. Если же вы продуктовая команда со сложными и критичными транзакционными потоками (например, сброс пароля или уведомления об оплате), операционная надёжность платформенного провайдера часто стоит разницы в $60.

Тем, кто создаёт AI-native приложения, нужна не просто «труба». Нужна готовность к работе с агентами: MCP-сервер и структурированный файл llms.txt, который помогает агентам понять, как взаимодействовать с вашим коммуникационным слоем. Именно здесь специализированный API становится множителем силы, а не просто статьёй расходов.

В конечном счёте стоимость API — наименьшая часть уравнения. Реальная цена — это время инженеров, потраченное на отладку неверно настроенной DNS-записи или на разбор репутационного кризиса из-за отсутствия управления стоп-листом. Какой бы путь вы ни выбрали — за $5 или за $66, — в приоритете должны быть телеметрия и инструменты, благодаря которым письма продолжают доходить.

Больше о почтовой инфраструктуре для разработчиков — на https://sendhq.cc.