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.