Как за один вечер завести на своём домене почтовый ящик, с которым вместе работают команда и ИИ-агенты: Resend принимает письма, собирает цепочки и готовит черновики ответов, а отправку оставляет человеку.
Что это и кому подходит
Resend — почтовая платформа для разработчиков. Через REST API, SMTP или SDK приложение отправляет письма со своего домена: подтверждения регистрации, счета, уведомления. Сервис принимает входящие письма и с октября 2026 года хранит их в собственных ящиках Inboxes.
Inboxes Resend называет «ящиком для агентов» (анонс от 22 октября 2026 года). Это отдельный раздел Inboxes в дашборде и набор методов API: у каждого ящика свой адрес, папки, цепочки, метки, черновики, поиск и назначение писем на сотрудников. В ящике работает встроенный агент, а внешние агенты (Codex, Claude Code, Cursor, Claude, Gemini, Grok Bot, Hermes, OpenClaw) подключаются к тем же ящикам через MCP-сервер, плагины и навыки.
Руководство пригодится трём группам:
- разработчикам, которым нужна отправка писем из приложения и приём ответов;
- командам поддержки и продаж, которые хотят общий ящик с черновиками от ИИ;
- тем, кто собирает своего агента и хочет дать ему отдельный почтовый адрес.
Что нового в октябре 2026 года
На конференции Resend Forward 21 октября 2026 года компания объявила несколько продуктов (обзор конференции). Для этого руководства важны такие изменения:
| Что появилось | Когда | Что это меняет |
| Inboxes | 22 октября 2026 года | Ящики на своём домене для людей и агентов, доступны всем пользователям |
| Встроенный агент Inboxes | 22 октября 2026 года | Разбирает новые письма по инструкции: метки, назначение, черновики ответов |
| Resend Forge | 23 октября 2026 года | Собственный почтовый сервер (MTA) Resend на принадлежащих компании IP-адресах, включается для домена одной CNAME-записью |
| Плагины для Codex, Cursor, Claude Code и коннектор для Claude | осень 2026 года, по журналу изменений | Одна установка добавляет удалённый MCP-сервер и все навыки Resend |
| Resend for Nonprofits | 21 октября 2026 года | Скидка 50% на платные планы для некоммерческих организаций |
В анонсе Inboxes упомянут настраиваемый интерфейс: встроенные агенты могут собирать для писем и цепочек свои представления, например канбан-доску. В документации от 28 октября 2026 года отдельного описания этой функции нет, поэтому в руководстве она не разбирается.
Как это работает
Письмо приходит на адрес ящика, например support@example.com. Resend сохраняет его, собирает переписку в цепочку и кладёт в папку inbox. Дальше возможны три пути, и их можно сочетать:
- Сотрудник открывает цепочку в дашборде и отвечает вручную.
- Встроенный агент читает письмо вместе с вашей инструкцией, ставит метки, назначает цепочку на сотрудника и сохраняет черновик ответа. Отправляет черновик человек.
- Ваш собственный агент получает событие по вебхуку или сам читает цепочки через MCP, API или CLI и действует по своему заданию.
| Возможность | Что даёт | Документация |
| Отправка | REST API, SMTP relay, SDK для Node.js, Python, PHP, Ruby, Go, Rust, Java и .NET, отложенная и пакетная отправка | Send Email |
| Домены | Отправка с вашего домена с DKIM, SPF и DMARC; для писем разного назначения удобны поддомены вроде updates.example.com | Domains |
| Приём писем | Входящие письма уходят вебхуком на ваш сервер, хранение остаётся за вашим кодом | Receiving |
| Inboxes | Resend хранит переписку: папки inbox, sent, archive, spam, trash, цепочки, метки, черновики, поиск, назначение | Inboxes |
| Встроенный агент | Разбирает новые письма по инструкции до 4000 знаков | Inbox Agent |
| Вебхуки | События по письмам и ящикам, например inbox.email.received и inbox.thread.assigned | Webhooks |
| MCP, CLI, навыки | Те же операции из терминала и среды агента | MCP Server |
| Forge | Доставка через собственный MTA Resend без изменений в коде | Анонс Forge |
Что понадобится
- Аккаунт Resend. Бесплатного плана хватит для трёх ящиков и проверки сценариев.
- Собственный домен с доступом к DNS-записям. Адреса Gmail и других публичных сервисов для отправки не подходят.
- Решение по MX-записям: либо домен принимает почту через Resend, либо существующий ящик пересылает письма на служебный адрес Resend.
- API-ключ Resend.
- Терминал с curl для проверки запросов.
- Для своего агента: Codex, Claude Code, Cursor или другой клиент с поддержкой удалённых MCP-серверов.
- Для своего кода: Node.js SDK
resendверсии 6.34.1 или новее, в более старых нет методов Inboxes.
Пошаговый запуск
Шаг 1. Подтвердите домен
Добавьте домен в разделе Domains и внесите показанные DNS-записи у своего регистратора. Дождитесь статуса Verified: без подтверждённых DKIM и SPF ящик создать нельзя.
Шаг 2. Включите приём писем
Если MX-записи домена свободны, включите на домене приём с MX-записью по инструкции Resend.
Если MX-записи уже указывают на Google Workspace, Microsoft 365 или другого провайдера и менять их нельзя, пропустите этот шаг. В шаге 5 вы создадите ящик с пересылкой.
Шаг 3. Создайте API-ключ
Создайте ключ на странице API Keys и сохраните его в переменной окружения:
export RESEND_API_KEY="<RESEND_API_KEY>"Ключ с правом sending_access только отправляет письма, а в Inboxes отвечает, пересылает, создаёт и отправляет черновики. Его можно ограничить одним доменом. Для управления ящиками нужен ключ с полным доступом.
Шаг 4. Проверьте отправку
Отправьте тестовое письмо на адрес delivered@resend.dev. Он имитирует успешную доставку и не влияет на репутацию домена, но письмо расходует квоту.
curl -X POST 'https://api.resend.com/emails' \
-H "Authorization: Bearer $RESEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"from": "Acme <onboarding@resend.dev>",
"to": ["delivered@resend.dev"],
"subject": "hello world",
"html": "<p>it works!</p>"
}'Успешный ответ содержит идентификатор письма:
{
"id": "<EMAIL_ID>"
}Шаг 5. Создайте ящик
В дашборде откройте Inboxes, нажмите Create inbox, введите часть адреса до @ и выберите домен.
То же через API:
curl -X POST 'https://api.resend.com/inboxes' \
-H "Authorization: Bearer $RESEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"email_address": "support@example.com",
"name": "Customer Support",
"from_name": "Ada from Support"
}'Или через CLI:
resend inboxes create \
--email-address support@example.com \
--name "Customer Support" \
--from-name "Ada from Support"Поле name видите только вы, from_name видят получатели. Сохраните ID ящика из ответа, он понадобится дальше.
Если вы пропустили шаг 2, добавьте в тело запроса "forwarding": true. Resend выдаст ящику служебный адрес receiving_address: его видно в ответе на запрос Retrieve inbox. Настройте пересылку существующего ящика на этот адрес у своего почтового провайдера.
Шаг 6. Создайте метки
Встроенный агент ставит только существующие метки и не создаёт новые. Заранее создайте в ящике метки, которые понадобятся в инструкции, например «Счета», «Возврат» и «Срочно» (Labels).
Шаг 7. Настройте встроенного агента
Откройте ящик, нажмите Settings и перейдите на вкладку Customize. Заполните три поля:
- Instructions — как обращаться с письмами в этом ящике, до 4000 знаков;
- Available actions — какие действия агенту разрешены;
- Tone of voice — тон ответов, справа виден пример.
Изменения сохраняются автоматически. Агент начинает работать, когда у ящика есть инструкция и хотя бы одно разрешённое действие.
| Действие в дашборде | Значение в API | Что делает агент |
| Draft replies | draft_reply | Пишет черновик ответа |
| Forward threads | forward_thread | Пишет черновик пересылки |
| Add labels | add_labels | Ставит существующие метки |
| Assign threads to teammates | assign_thread | Назначает цепочку на сотрудника |
| Mark as spam | mark_as_spam | Переносит цепочку в спам |
| Archive | archive | Переносит цепочку в архив |
| Move to trash | move_to_trash | Переносит цепочку в корзину |
Тон задаётся одним из четырёх значений: concise_professional, concise_casual, expanded_professional, expanded_casual.
Та же настройка через API. Поля, которых нет в запросе, сохраняют прежние значения, а actions полностью заменяет список действий:
curl -X PATCH 'https://api.resend.com/inboxes/<INBOX_ID>/agent' \
-H "Authorization: Bearer $RESEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"instructions": "Label billing questions with Billing. Draft replies to order status questions.",
"tone": "concise_professional",
"actions": ["draft_reply", "add_labels"]
}'Пример инструкции из документации, переведённый на русский:
В этот ящик приходят обращения в поддержку интернет-магазина.
- Письма о счетах и возвратах помечай меткой «Счета».
- Письма с угрозой судом помечай меткой «Срочно» и назначай на ada@example.com.
- На вопросы о статусе заказа готовь черновик ответа со ссылкой https://example.com/orders.
- Предложения о партнёрстве пересылай на partners@example.com.
- Рассылки и автоматические уведомления отправляй в архив.Правила безопасности агента из документации:
- если в цепочке уже есть черновик, агент его не трогает и новый не пишет;
- пересылает только на адреса, полностью выписанные в инструкции, имени человека или домена недостаточно;
- назначает цепочку только при однозначном совпадении имени или адреса сотрудника;
- пропускает цепочки в папке спама и письма, которые не требуют действий.
Чтобы выключить агента, уберите все разрешённые действия или очистите инструкцию. Через API для этого отправьте пустой массив actions.
Шаг 8. Подключите своего агента
Resend держит удалённый MCP-сервер по адресу https://mcp.resend.com/mcp. Вход выполняется через OAuth в браузере. Инструменты Inboxes есть только на удалённом сервере, в локальном пакете resend-mcp их нет.
Выберите команду для своего клиента из документации MCP:
| Клиент | Как подключить | Что ставится |
| Codex | плагин Resend в один клик со страницы Codex или codex mcp add resend --url https://mcp.resend.com/mcp | плагин ставит MCP и навыки, команда только MCP |
| Claude Code | claude plugin install resend@claude-plugins-official, затем /mcp → resend → вход | MCP и навыки |
| Cursor | /add-plugin resend в чате | MCP и навыки |
| Claude (веб и десктоп) | коннектор Resend в каталоге коннекторов или Settings → Connectors → Add custom connector | коннектор ставит MCP и навыки |
| Hermes | hermes plugins install resend/resend-skills --enable | MCP и навыки |
| Gemini CLI, Zed, OpenCode, Warp | адрес сервера в файле настроек клиента | только MCP |
Пример для Codex:
codex mcp add resend --url https://mcp.resend.com/mcpНавыки без MCP ставятся отдельно. Команда предложит выбрать Resend Skill для отправки и Agent Email Inbox для приёма почты агентом:
npx skills add resend/resend-skillsНа сервере, в CI или в другом месте без браузера передавайте API-ключ в заголовке вместо OAuth:
claude mcp add --transport http resend https://mcp.resend.com/mcp --header "Authorization: Bearer <RESEND_API_KEY>"Шаг 9. При необходимости включите Resend Forge
Forge отправляет письма через собственный почтовый сервер Resend. По анонсу от 23 октября 2026 года, через него уже прошло больше 10 млн писем сотен клиентов, а менять код не нужно.
Откройте Domains, выберите домен, нажмите Activate Resend Forge и добавьте одну CNAME-запись, которую покажет дашборд. Домен подключается после проверки DNS и репутации отправителя, поэтому кнопка может быть доступна не для каждого домена.
Проверка результата
- Отправьте письмо на адрес ящика с любого почтового аккаунта. По документации оно появляется в папке Inbox новой цепочкой в течение нескольких секунд.
- Если агент включён, откройте цепочку и проверьте метку и черновик с пометкой агента.
- Нажмите Reply, отправьте ответ и убедитесь, что он остался в той же цепочке.
- Запросите цепочки через API:
curl -X GET 'https://api.resend.com/inboxes/<INBOX_ID>/threads' \
-H "Authorization: Bearer $RESEND_API_KEY"Или через CLI:
resend inboxes threads list --inbox-id <INBOX_ID>Признак успеха: тестовая цепочка есть в ответе, у подходящего письма лежит черновик агента, а в папке sent нет писем, которые никто не отправлял вручную.
Полезные сценарии
Ящик поддержки с черновиками от агента
Задача: быстрее отвечать на письма в support@example.com и оставить отправку за сотрудником.
На входе: домен с включённым приёмом, созданный ящик и метки «Счета» и «Возврат».
Действия: в Customize опишите типы писем и ответ на каждый, разрешите только draft_reply и add_labels, выберите тон concise_professional. Отправьте в ящик тестовое письмо под одно из правил.
Результат: письмо появляется цепочкой с меткой, в окне ответа открывается черновик с пометкой агента. Сотрудник правит его и нажимает Send или удаляет.
Ограничение: в цепочке с черновиком агент новый не создаст. Для писем с юридическими и финансовыми последствиями разрешите агенту только метки и назначение.
Общий ящик команды с распределением писем
Задача: распределять входящие обращения между сотрудниками без ручной сортировки.
На входе: ящик, в команде Resend есть сотрудники, у которых будут цепочки.
Действия: в инструкции укажите для каждого типа писем адрес ответственного, например «вопросы об оплате назначай на billing@example.com». Разрешите assign_thread и add_labels. Для оповещения подпишитесь на событие вебхука inbox.thread.assigned.
Результат: новая цепочка получает метку и ответственного, сотрудник видит её у себя в дашборде, а ваша система получает событие о назначении.
Ограничение: если имя в инструкции совпадает с несколькими людьми или не совпадает ни с кем, цепочка останется без ответственного. Пишите полные адреса.
Свой агент в Codex или Claude Code разбирает почту
Задача: получить сводку новых писем и подготовить ответ, не выходя из среды агента.
На входе: подключён удалённый MCP-сервер Resend, в ящике есть цепочки.
Действия: дайте агенту ограниченное задание.
Промпт:
Используй Resend и ящик support@example.com.
Найди непрочитанные цепочки за сегодня и дай сводку: отправитель, тема, что просят.
Для письма клиента о счёте создай черновик ответа.
Ничего не отправляй, не пересылай и не удаляй.Результат: в ответе агента есть сводка, а в дашборде у нужной цепочки появился черновик. Папка sent не изменилась.
Ограничение: правило «никогда не отправляет сам» относится только к встроенному агенту. Через MCP вашему агенту доступны ответы, пересылки и отправка черновиков, поэтому запрет на отправку задаётся в задании и проверяется по папке sent.
Отдельный адрес для личного агента
Задача: дать агенту адрес вроде agent@example.com, на который можно присылать задачи и согласования.
На входе: ящик для агента, навык Agent Email Inbox, сервер, принимающий вебхуки.
Действия: установите навыки командой npx skills add resend/resend-skills и выберите Agent Email Inbox. Попросите агента собрать обработчик события inbox.email.received по шаблону из документации навыка: проверка подписи вебхука, список разрешённых отправителей, чтение письма и ответ в той же цепочке.
Результат: письмо с разрешённого адреса запускает агента, и он отвечает в цепочку. Письма от остальных отправителей обработчик пропускает.
Ограничение: любой, кто знает адрес, может прислать письмо с командами для агента. Список разрешённых отправителей обязателен, а перед запуском стоит прочитать про prompt-инъекции.
Тарифы и лимиты
Данные со страницы цен на 28 октября 2026 года:
| План | Цена | Письма | Что важно |
| Free | $0 в месяц | 3000 в месяц | Не больше 100 писем в день, 3 домена, 3 ящика, 5 ИИ-кредитов |
| Pro | от $20 в месяц | от 50 000 в месяц | Без дневного лимита, 10 доменов, 5 вебхуков, 100 ИИ-кредитов |
| Scale | от $90 в месяц | от 100 000 в месяц | 1000 доменов, 10 вебхуков, 500 ИИ-кредитов, выделенный IP за $30 в месяц |
| Enterprise | по договорённости | по договорённости | Условия по контракту |
- Три ящика входят в каждый план. На платных планах с оплатой по факту каждый следующий ящик стоит $1 в месяц. На Free больше трёх ящиков создать нельзя.
- Отдельной квоты у ящиков нет: каждое отправленное и полученное через ящик письмо расходует квоту транзакционных писем.
- Письма сверх квоты на платных планах стоят от $0,46 до $0,90 за тысячу.
- ИИ-кредиты страница цен относит к генерации и редактированию писем. Тратит ли их встроенный агент Inboxes, на 28 октября 2026 года в документации не указано.
Частые проблемы
| Что происходит | Причина | Что сделать |
API отвечает 403 на любой запрос | Нет заголовка User-Agent | Добавьте заголовок; curl и SDK передают его сами |
API отвечает 429 | Превышен лимит 10 запросов в секунду на команду | Добавьте паузу и повтор запроса |
409 при создании ящика | Адрес уже занят | Выберите другой адрес |
403 при создании ящика | Исчерпан лимит ящиков тарифа | Удалите лишний ящик или включите оплату по факту на платном плане |
422 при создании ящика | У домена не подтверждены DKIM и SPF или не включён приём | Завершите шаг 1 и шаг 2 или создайте ящик с "forwarding": true |
| Письма не доходят до ящика | MX-записи указывают на другого провайдера | Настройте пересылку на receiving_address |
| Агент не ставит метку | Метки с таким названием нет | Создайте метку заранее |
| Агент не готовит черновик | В цепочке уже есть черновик или нет инструкции и действий | Отправьте или удалите старый черновик, проверьте Customize |
| В клиенте MCP нет инструментов Inboxes | Подключён локальный resend-mcp | Подключите удалённый сервер https://mcp.resend.com/mcp |
В SDK нет методов inboxes | Старая версия пакета | Обновите resend до 6.34.1 или новее |
Ограничения
- Нужен собственный домен с доступом к DNS.
- Если MX-записи менять нельзя, приём в ящик работает только через пересылку с существующего адреса.
- Входящие письма расходуют ту же квоту, что и отправка. На Free месячная квота 3000 писем, дневной лимит отправки 100 писем.
- Встроенный агент не создаёт метки и не отправляет письма. Если ответ должен уходить без участия человека, такой сценарий собирается через API или своего агента, и ответственность за отправку остаётся на вас.
- Настраиваемые представления писем, описанные в анонсе Inboxes, на 28 октября 2026 года в документации не описаны.
Что дальше
Перед подключением рабочего ящика проверьте:
Следующий шаг
Перед тем как дать агенту рабочий адрес, сравните варианты отдельной почты для агента в руководстве «Почтовые агенты: отдельный email в Google Workspace, Microsoft 365, Яндекс 360 и Cloudflare».
Если вы выбираете, какой ящик отдать агенту и какие действия ему разрешить, начните с одного адреса и режима черновиков.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov


