Przejdź do głównej zawartości

Email

Wysyłaj e-maile transakcyjne ze swojej aplikacji. Zarządzaj tożsamościami nadawców i śledź dostarczanie wiadomości w Admin > Email swojej aplikacji.

Każda aplikacja Proyecta może wysyłać e-maile transakcyjne. Zweryfikuj tożsamość nadawcy, a następnie wysyłaj wiadomości z kodu aplikacji — bez konieczności zakładania osobnego konta u dostawcy poczty.

Otwórz Admin > Email w builderze — lub /admin na opublikowanej stronie. Składa się z dwóch części:

Część Do czego służy
Identities Dodawanie i weryfikowanie adresów e-mail lub domen nadawcy
Sent Przeglądanie wysłanych wiadomości ze statusem dostarczenia (sent, delivered, bounced itp.)

Możesz dodać nową tożsamość nadawcy i przeglądać historię dostarczania e-maili — wszystko bez pisania kodu.

  1. Utwórz i zweryfikuj tożsamość nadawcy (adres e-mail lub domenę) w panelu administracyjnym
  2. Wysyłaj — z aplikacji za pomocą useSendEmail() lub z panelu administracyjnego w przypadku kampanii

Wysyłanie z adresu współdzielonego (@proyectamail.com)

Dział zatytułowany „Wysyłanie z adresu współdzielonego (@proyectamail.com)”

Najprostszą opcją jest przypisanie sobie jednego adresu w współdzielonej domenie wysyłkowej Proyecta — @proyectamail.com. Weryfikuje się natychmiast po utworzeniu, ponieważ platforma jest właścicielem tej domeny i nie musisz konfigurować żadnych rekordów DNS.

Robi się to w sekcji Emails panelu administracyjnego aplikacji: wpisz wybrany adres i jest on gotowy do użycia natychmiast.

Pojedyncze adresy działają wyłącznie w domenie @proyectamail.com. Próba użycia innej domeny (np. hello@myapp.com) zostanie odrzucona — aby wysyłać z własnej domeny, zweryfikuj całą domenę (patrz niżej). Każdy adres współdzielony jest zarezerwowany globalnie, więc żadne dwie aplikacje nie mogą wysyłać jako ten sam nadawca @proyectamail.com.

Aby wysyłać z własnej domeny — z dowolnego adresu w jej obrębie (hello@, support@, noreply@ itp.) — zweryfikuj całą domenę. W odróżnieniu od współdzielonego adresu @proyectamail.com, własna domena nie weryfikuje się natychmiast.

Dodaj domenę w tej samej sekcji Emails. Zostanie zarejestrowana u dostawcy poczty, a Ty otrzymasz rekordy SPF, DKIM i DMARC do opublikowania w DNS. Nadawca pozostaje w stanie pending do czasu propagacji tych rekordów i potwierdzenia ich przez dostawcę, po czym status zmienia się na verified — użyj przycisku ponownego sprawdzenia po opublikowaniu rekordów.

Weryfikacja domeny oparta na DNS jest w pełni zaimplementowana — rekordy są generowane przez dostawcę, a każde ponowne sprawdzenie odpytuje ich aktualny status.

Pod maską: Proyecta uwierzytelnia Twoją domenę wysyłkową za pośrednictwem swojego dostawcy tożsamości e-mail (Resend) i dostarcza wiadomości przez swojego transakcyjnego dostawcę (SendGrid). Nie musisz zarządzać kontem u żadnego z nich.

Na stronach aplikacji wysyłasz wiadomości za pomocą hooka useSendEmail(). Wybierasz szablon i przekazujesz zmienne; platforma renderuje wiadomość w języku aplikacji i wysyła ją:

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>
);
}

Zwróć uwagę, czego nie przekazujesz: odbiorcy, tematu ani HTML. Każdy szablon sam określa swoich odbiorców:

  • self (potwierdzenia rezerwacji/zamówień, powitania) → własny adres zalogowanego użytkownika, pobierany z jego sesji.
  • owner (owner_alert) → administratorzy Twojej aplikacji.

Oba warianty wymagają aktywnej sesji zalogowanego użytkownika. To celowe rozwiązanie, a nie ograniczenie: klucz publiczny uwierzytelniający wywołanie jest dostępny w źródle strony, więc wysyłanie do dowolnego odbiorcy pozwoliłoby każdemu wykorzystać Twoją aplikację jako przekaźnik spamu. Jeśli chcesz powiadamiać siebie o akcjach anonimowego odwiedzającego, użyj formularza — zgłoszenia z formularzy automatycznie wysyłają e-mail do właściciela i potwierdzają nadawcy, a ta ścieżka nie jest podatna na fałszowanie przez przeglądarkę.

Błędy zwracane są jako PlatformApiError: 401 (wymagana sesja), 403 (szablon nieaktywny w tej aplikacji), 429 (przekroczono limit — wyświetl komunikat i zaproponuj ponowienie próby), 422 (brak adresu e-mail w profilu).

Zakładka Sent w panelu administracyjnym wyświetla listę wszystkich wiadomości wysłanych przez aplikację wraz z ostatnim zdarzeniem dostarczenia — delivered, opened, clicked, bounced, complained — dzięki czemu zazwyczaj nie potrzebujesz do tego kodu.

Każdy wpis zawiera swój status — sent, delivered, opened, clicked, bounced lub complained — a po otwarciu dowolnej wiadomości możesz zobaczyć dokładną treść HTML i tekstową, która została wysłana. Jeśli dostarczanie zawodzi, to pierwsze miejsce, od którego warto zacząć.

Nie musisz pisać tego samodzielnie:

  • "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."
  • Adres from musi być zweryfikowaną tożsamością. Wysyłanie z niezweryfikowanego adresu zwraca błąd.
  • Obowiązują miesięczne limity uzależnione od Twojego planu Proyecta.
  • Edytor szablonów — wizualne projektowanie szablonów transakcyjnych w builderze
  • Endpoint wysyłki masowej/wsadowej do wysyłania wiadomości do dużych grup odbiorców