Перейти к содержимому
supastack
Обзор документации
WebTanStack Start

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /ru/docs/tanstack/resend-email.md (or send Accept: text/markdown).

Добавьте почту Resend

Создайте бесплатный аккаунт Resend, подтвердите домен отправки и переключите EMAIL_PROVIDER, чтобы коды и квитанции доходили до реальных почтовых ящиков.

Задать вопрос об этом руководстве
Открыть в

Прохождение для начинающих

Предварительные условия: приложение работает локально (Запуск за 5 минут). Начните бесплатно — без карты, а бесплатный тариф Resend покрывает объёмы разработки.

Кратко о терминах: EMAIL_PROVIDER=local — это по умолчанию — сообщения записываются на встроенную страницу /mail-preview и никогда не покидают вашу машину, что идеально во время разработки. Resend — адаптер, доставляющий в реальные ящики. EMAIL_FROM — идентичность отправителя, которую используют шаблоны; её адрес должен находиться на домене, подтверждённом Resend. DNS-записи — строки, которые вы вставляете у регистратора или в Cloudflare, чтобы принимающие ящики доверяли вашему отправителю.

Что вы создаёте: аккаунт Resend, подтверждённый домен отправки и один API-ключ — шаг с доменом единственный требует ожидания, так как распространение DNS занимает от минут до часов.

Создание аккаунта Resend

1. Откройте resend.com → Sign up, подтвердите свою почту — и вы попадаете на дашборд.

2. Начните с бесплатного тарифа — вы даже можете отправлять тестовую почту с общего отправителя Resend до владения доменом, что описывает следующий раздел.

Подтвердите ваш домен отправки

Быстрая попытка без домена: адрес [email protected] работает как EMAIL_FROM сразу — но он доставляет только на почту, с которой вы регистрировались, никогда пользователям. Используйте его, чтобы увидеть работу конвейера, затем сделайте настоящую настройку.

1. Откройте Domains → Add Domain и введите домен, с которого отправляете (например, yourdomain.com; поддомен вроде mail.yourdomain.com тоже работает и держит записи аккуратными).

2. Resend перечисляет DNS-записи для создания — TXT-записи DKIM плюс записи MX/SPF или CNAME в зависимости от возраста аккаунта. Добавьте каждую у вашего DNS-хоста: на странице DNS вашего регистратора или в Cloudflare, если вы перенесли серверы имён. В Cloudflare держите облако прокси серым (DNS only) для почтовых записей — проксированные записи никогда не подтверждаются.

3. Вернувшись в Resend, нажмите Verify. Ожидается: домен переворачивается в Verified. Распространение варьируется от минут до суток; страница домена называет точную запись, которая всё ещё не резолвится.

После подтверждения любой адрес на домене работает как отправитель — hello@, no-reply@, что угодно использует EMAIL_FROM — регистрация по адресам не нужна.

Создание API-ключа

1. Откройте API Keys → Create API Key.

2. Permission: Sending access достаточно — комплект только отправляет. Назовите ключ по его окружению (production, local), чтобы утёкший dev-ключ можно было отозвать, не трогая продакшен.

3. Скопируйте ключ re_… сейчас — он показывается один раз. Потеря означает просто создание другого.

Добавьте значения в приложение

Установите строки ниже в apps/web-tanstack/.env.local. RESEND_API_KEY — только для сервера — никогда NEXT_PUBLIC_/EXPO_PUBLIC_, никогда в коммитах; EMAIL_PROVIDER и EMAIL_FROM — обычная конфигурация. Перезапустите dev-сервер после редактирования.

EMAIL_FROM должен находиться на подтверждённом домене: [email protected] доходит только до вашего адреса регистрации, а неподтверждённый домен получает отказ 403 от Resend.

# apps/web-tanstack/.env.local
EMAIL_PROVIDER=resend
EMAIL_FROM="Your Product <[email protected]>"
RESEND_API_KEY=re_…

Проверка и устранение неполадок

Перезапустите, откройте /auth и запросите код входа на реальный ящик под вашим контролем. Ожидается: сообщение приходит, а Resend → Emails показывает доставку с зелёным статусом — этот журнал также является местом, где живут причины возврата и ошибок.

Ничего не отправлено? Проверьте, что EMAIL_PROVIDER=resend действительно сохранён в apps/web-tanstack/.env.local, и перезапустите. 403 в серверном журнале означает, что EMAIL_FROM не на подтверждённом домене — или [email protected] был отправлен кому-то кроме вас.

Другой провайдер позже? EMAIL_PROVIDER также принимает ses (с ключами AWS) и транспорты postmark, sendgrid, mailgun, smtp, brevo — тот же контракт EMAIL_FROM, другие имена env, все перечислены в .env.example. Руководство по почте сравнивает их.

Чтобы продолжить настройку, прочитайте Настройка почты Amazon SES.