> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Почта и отправка

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

## Прочитайте свое первое локальное сообщение, а затем включите доставку.

Транзакционное электронное письмо означает сообщение, вызванное действием приложения, например кодом входа или результатом задачи. При работающем веб-сервере оставьте EMAIL_PROVIDER=local в apps/web/.env.local.. Завершите настройку базы данных, запросите код входа в /auth, затем откройте /mail-preview и проверьте последнее сообщение. Локальное сообщение, показанное здесь, не является электронным письмом, доставленным во внешний почтовый ящик.

Чтобы отправлять настоящие сообщения, выберите одного поставщика электронной почты, создайте его учетную запись, подтвердите контролируемый вами домен и следуйте его специальному руководству. Поместите названный ключ API и адрес отправителя в apps/web/.env.local, сохраните и перезапустите веб-сервер. Запросите один новый код входа, затем проверьте журнал доставки поставщика и почтовый ящик назначения, включая спам. Проверка домена и одобрение отправителя могут занять время.

Если сообщение не получено, проверьте ошибку доставки и проверку отправителя, прежде чем отправлять повторный запрос. Маршрут /mail-preview предназначен только для разработки и возвращает 404 в рабочей среде. Отделите маркетинговую деятельность от этого отправителя транзакций, чтобы информационная кампания не могла помешать отправке писем для подтверждения учетной записи.

[Выберите почтового провайдера и адрес отправителя](https://supastack.dev/ru/docs/modules/email-configuration.md)

[Включить повторную отправку](https://supastack.dev/ru/docs/web/setup-email.md)

[Настроить Amazon SES с AWS SDK или IAM SMTP](https://supastack.dev/ru/docs/web/aws-ses.md)


## Держите транзакционную доставку отдельно

Почтовый модуль обрабатывает транзакционные продуктовые сообщения, включая аутентификацию и завершение задач. Рассылки принадлежат собственному процессу потребляющего продукта и должны оставаться отдельными от этого транзакционного пути.


## Настройте адаптер доставки

Используйте локальный адаптер для детерминированных тестов. Настройте выбранный продакшен-адаптер и его серверные креденшелы до включения внешней доставки. Никогда не помещайте секреты почтового провайдера в клиентскую конфигурацию или логи.


## Записывайте доставку независимо

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


## Настройка и конфигурация

EMAIL_PROVIDER=local держит доставку детерминированной во время разработки. Для продакшен-доставки выберите один из настроенных адаптеров — Resend (RESEND_API_KEY), AWS SES (AWS_REGION плюс ключи доступа), Postmark, SendGrid, Mailgun, generic SMTP или Brevo — и проверьте, что EMAIL_FROM совпадает с личностью отправителя, которую провайдер принимает.

Все шаблоны живут в src/transactional-mail-templates.ts. Dev-only маршрут /mail-preview рендерит каждый шаблон, чтобы изменения рецензировались визуально, а не отправкой почты.

```
EMAIL_PROVIDER=resend
EMAIL_FROM=Your Product <hello@yourdomain.com>
```


## Рабочий процесс внедрения

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

Предпросматривайте шаблон в mail-preview до редактирования текста или разметки; держите значения бренда (имя, цвета, плитки логотипа) идущими из конфигурации, чтобы производные продукты рестайлили без форка шаблонов.


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

В тестах проверяйте записанные сообщения локального адаптера — получателя, тему и отрисованное тело. Неудачная отправка должна всплывать как результат доставки, а не как упавший workflow. Используйте необязательный smoke-путь с REAL_SMOKE_EMAIL_ALLOWED_DOMAIN для реальной доставки.


## Вперёд

[Уведомления](https://supastack.dev/ru/docs/web/notifications.md)
