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

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/web/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/.env.local. RESEND_API_KEY — только для сервера — никогда NEXT_PUBLIC_/EXPO_PUBLIC_, никогда в коммитах; EMAIL_PROVIDER и EMAIL_FROM — обычная конфигурация. Перезапустите dev-сервер после редактирования.

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

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

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

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

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

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

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

Часто задаваемые вопросы

14 вопросов

Что такое supastack?

supastack — модульная основа для создания SaaS-продуктов с AI. Она объединяет общую инфраструктуру, чтобы вы могли сосредоточиться на продуктовых функциях.

Поддерживает ли он web и mobile?

Да. supastack включает приложения Next.js и Expo как отправные точки для web- и мобильных интерфейсов.

Какая аутентификация включена?

Better Auth покрывает e-mail/пароль, OTP и социальный вход. Личные воркспейсы провижинируются вместе с аккаунтом, чтобы продуктовые записи были ограничены с первого дня.

Как он поддерживает AI?

supastack включает настраиваемый мультипровайдерный AI, учёт использования, бюджеты и зашифрованную поддержку bring-your-own-key.

Как обрабатываются подписки?

Для продуктов на ките Stripe-биллинг, подписки и права доступа образуют основу платного доступа. Секреты провайдеров остаются только на сервере.

Где живёт мой продуктовый код?

Продуктовые функции остаются в отдельном коде, а продукт настраивает и интегрирует модули основы supastack.

Как устроены цены supastack?

Кит — разовая покупка с пожизненными обновлениями: один фреймворк за $249 (временная стартовая цена — скидка $100 от стандартной цены $349) или все фреймворки (Next.js, iOS, Android) за $499 (временная стартовая цена — скидка $100 от стандартной цены $599), плюс $75 за каждое дополнительное место разработчика. Без подписки на кит. Оплата на этом сайте доставляет лицензионный ключ по e-mail, доступ к репозиторию — через приглашение GitHub.

Как воркспейсы ограничивают мои данные?

Записи пользователей ограничены по workspaceId. Идентичность, права доступа, AI-использование, события биллинга и записи аудита остаются внутри границы личного воркспейса.

Как работают фоновые задачи?

Trigger.dev — явный рантайм задач. Контракт JobRunner обещает только enqueue, status и cancel — семантика workflow остаётся специфичной для Trigger.dev и явной.

Чем почта отличается от рассылок?

Транзакционная почта покрывает продуктовые сценарии вроде уведомлений о завершении. Холодные рассылки и кампании — забота продукта, вне почтового модуля этого кита.

Как работают покупки в мобильном приложении?

Мобильное приложение поддерживает нативные покупки и восстановление через RevenueCat, а сервер проверяет доступ. Настройте аккаунты магазинов и завершите тестирование на устройствах перед публикацией. Веб-оплата остается отдельной.

Где хранятся ключи AI-провайдеров?

Bring-your-own-key креденшелы зашифрованы и остаются только на сервере. Ключи удаляются из логов; использование и бюджеты видны на уровне воркспейса.

Какие способы оплаты принимает оформление заказа?

Оформление заказа на Stripe принимает карты, а после включения кошельков в аккаунте Stripe может также предлагать Alipay и WeChat Pay — удобно для покупателей из Китая. Авторизации кошельков подтверждаются асинхронно, поэтому страница лицензии обновляется, как только платёж завершается.

Могу ли я получить возврат средств?

После получения доступа к репозиторию supastack остается вашим навсегда, поэтому возврат средств невозможен. Но будьте уверены: вы получаете полный исходный код с пожизненными обновлениями для создания и запуска неограниченного числа продуктов для себя или клиентов. Вы лишь не можете перепродавать код или распространять репозиторий как стартовый набор или шаблон.

RU
Тема