Отправляй транзакционные письма из своего приложения. Управляй идентификаторами отправителя и отслеживай доставку в разделе Admin > Email своего приложения.
Каждое приложение Proyecta умеет отправлять транзакционные письма. Верифицируй идентификатор отправителя — и отправляй письма прямо из кода приложения, без отдельного аккаунта у почтового провайдера.
Раздел Email
Заголовок раздела «Раздел Email»Открой Admin > Email в builder’е — или перейди на /admin своего опубликованного сайта. Раздел состоит из двух частей:
| Часть | Назначение |
|---|---|
| Identities | Добавление и верификация email-адресов или доменов отправителя |
| Sent | Просмотр отправленных писем со статусом доставки (sent, delivered, bounced и другие) |
Ты можешь добавить новый идентификатор отправителя и просматривать историю доставки — всё это без написания кода.
Двухшаговая настройка
Заголовок раздела «Двухшаговая настройка»- Создай и верифицируй идентификатор отправителя (email-адрес или домен) в панели администратора
- Отправляй — из приложения с помощью
useSendEmail()или из панели администратора для рассылок
Отправка с общего адреса (@proyectamail.com)
Заголовок раздела «Отправка с общего адреса (@proyectamail.com)»Самый простой путь — зарегистрировать отдельный адрес на общем домене отправки Proyecta, @proyectamail.com. Верификация происходит мгновенно в момент создания: платформа уже владеет этим доменом, поэтому никаких DNS-записей настраивать не нужно.
Сделать это можно в разделе Emails панели администратора твоего приложения: введи нужный адрес — и он сразу готов к работе.
Одиночные адреса работают только на домене @proyectamail.com. Запрос адреса на другом домене (например, hello@myapp.com) будет отклонён — чтобы отправлять письма со своего домена, нужно верифицировать весь домен (см. ниже). Каждый адрес на общем домене зарезервирован глобально, поэтому два приложения не могут использовать одного и того же отправителя @proyectamail.com.
Верификация собственного домена (Pro)
Заголовок раздела «Верификация собственного домена (Pro)»Чтобы отправлять письма со своего домена — с любого адреса на нём (hello@, support@, noreply@ и других) — нужно верифицировать весь домен. В отличие от общего адреса @proyectamail.com, верификация кастомного домена не происходит мгновенно.
Добавь домен в том же разделе Emails. Система зарегистрирует его у почтового провайдера и покажет SPF-, DKIM- и DMARC-записи, которые нужно опубликовать в твоём DNS. Отправитель будет находиться в статусе pending до тех пор, пока записи не распространятся и провайдер их не подтвердит — после этого статус изменится на verified. Используй кнопку повторной проверки после публикации записей.
Верификация домена через DNS полностью реализована: записи генерируются провайдером, а каждая повторная проверка опрашивает их статус.
Под капотом: Proyecta аутентифицирует твой домен отправки через провайдера email-идентификации (Resend) и доставляет сообщения через транзакционный провайдер (SendGrid). Тебе не нужно регистрировать аккаунт ни у одного из них.
Отправка письма из приложения
Заголовок раздела «Отправка письма из приложения»Со страниц приложения письма отправляются с помощью хука useSendEmail(). Выбери шаблон и передай переменные — платформа отрендерит сообщение на языке приложения и отправит его:
import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) { const { send, isPending, error } = useSendEmail();
return ( <button disabled={isPending} onClick={() => send({ template: 'booking_confirmation', variables: { date: booking.date, service: booking.service }, }) } > Email me the details </button> );}Обрати внимание, что ты не передаёшь: получателя, тему письма или HTML. Каждый шаблон сам определяет свою аудиторию:
self(подтверждения бронирований/заказов, приветствия) → адрес авторизованного пользователя, взятый из его сессии.owner(owner_alert) → администраторы твоего приложения.
Оба варианта требуют активной сессии. Это намеренное решение, а не упущение: публичный ключ, который аутентифицирует вызов, виден в исходном коде страницы, поэтому возможность отправки на произвольный адрес позволила бы кому угодно использовать твоё приложение как спам-ретранслятор. Чтобы уведомить себя об анонимном посещении, используй форму — заявки из форм автоматически отправляют письмо владельцу и подтверждение отправителю, причём этот путь нельзя подделать через браузер.
Ошибки возвращаются как PlatformApiError: 401 (требуется сессия), 403 (шаблон не включён для этого приложения), 429 (превышен лимит запросов — покажи сообщение и предложи повторить попытку), 422 (адрес не задан).
Отслеживание доставки
Заголовок раздела «Отслеживание доставки»Вкладка Sent в панели администратора показывает все письма, отправленные приложением, с последним событием доставки — delivered, opened, clicked, bounced, complained — так что, как правило, писать код для этого не нужно вовсе.
Каждая запись содержит статус — sent, delivered, opened, clicked, bounced или complained — и любое письмо можно открыть, чтобы увидеть точный HTML и текст, которые были отправлены. Если доставка не работает, начинай расследование отсюда.
Поручи настройку AI
Заголовок раздела «Поручи настройку AI»Тебе не нужно делать это вручную:
"Verify hello@myapp.com as a sending identity.""Email the customer a confirmation after they finish booking.""After a successful checkout, send the customer their receipt.""Show me the last 20 emails we've sent and whether they bounced."
Ограничения
Заголовок раздела «Ограничения»- Адрес
fromдолжен быть верифицированным. Отправка с неверифицированного адреса вернёт ошибку. - Действуют месячные лимиты в зависимости от тарифного плана Proyecta.
- Редактор шаблонов — визуальное создание транзакционных шаблонов прямо в builder’е
- Endpoint для массовой/пакетной отправки для рассылок