S
StartupCRM
Wróć do bazy wiedzy
2026-09-028 min czytaniaAutomatyzacje

Resend i React Email – jak wyglądają automatyczne potwierdzenia rezerwacji i powiadomienia w praktyce

Klient rezerwuje termin na stronie, widzi komunikat "dziękujemy", i na tym jego kontakt z firmą się kończy. Nie dostaje potwierdzenia albo dostaje je po godzinie, w formie surowego tekstu bez godziny wizyty i adresu. Po dwóch dniach dzwoni z pytaniem, czy rezerwacja w ogóle przeszła. Właściciel odbiera ten telefon zamiast pracować.

To nie jest problem estetyczny. Mail transakcyjny po rezerwacji jest jedynym dowodem, jaki klient ma w ręku. Jeżeli nie dotrze, klient nie ma czego wpisać do kalendarza, a firma dostaje puste okienko albo telefon do wyjaśnienia. To samo dotyczy powiadomienia po stronie firmy: jeżeli właściciel nie dowie się o nowej rezerwacji w ciągu minuty, kalendarz przestaje być wiarygodny.

W praktyce większość takich awarii ma tę samą przyczynę. Mail jest wysyłany przez przypadkowy serwer SMTP, z konta hostingowego, bez konfiguracji uwierzytelnienia domeny i bez żadnego logu. Nikt nie wie, czy wiadomość wyszła, czy dotarła i dlaczego nie. W projektach, w których budujemy własny system rezerwacji w Next.js, warstwę mailową traktujemy jako osobny element wdrożenia, a nie jako dodatek do formularza.

Na czym polega stack Resend i React Email

To dwa różne narzędzia, które rozwiązują dwa różne problemy.

Resend jest dostawcą wysyłki maili transakcyjnych. Odpowiada za to, żeby wiadomość faktycznie opuściła serwer i trafiła do skrzynki odbiorczej, a nie do spamu. Daje API do wysyłki z aplikacji, konfigurację uwierzytelnienia domeny (SPF, DKIM, DMARC), logi wysyłek i informację o statusie każdej wiadomości.

React Email odpowiada za treść i wygląd. Pozwala budować szablony maili jako komponenty React, w tym samym języku i tym samym repozytorium co reszta aplikacji Next.js. Zamiast utrzymywać HTML maila w postaci tabel sklejonych ręcznie, opisujesz szablon komponentami, a biblioteka generuje HTML, który poprawnie renderuje się w Gmailu, Outlooku i na telefonie.

Razem dają prosty układ: React Email buduje treść, Resend ją wysyła i raportuje wynik. Aplikacja rezerwacyjna wywołuje to w jednym miejscu, po zapisaniu rezerwacji w bazie.

Kiedy zwykły SMTP jeszcze wystarczy

Nie każdy projekt potrzebuje osobnego dostawcy wysyłki. Prosty SMTP z hostingu bywa wystarczający, gdy:

  • rezerwacji jest kilka w tygodniu i każdą i tak potwierdza człowiek,
  • mail idzie wyłącznie do właściciela firmy, a nie do klienta,
  • firma nie ma własnej domeny mailowej i nie planuje jej mieć,
  • treść maila to dwa zdania, których nikt nie zamierza zmieniać,
  • nikt w firmie nie potrzebuje wiedzieć, czy wiadomość dotarła.

W takim układzie dokładanie kolejnego narzędzia to koszt bez zwrotu. Problem zaczyna się dopiero wtedy, gdy mail przestaje być powiadomieniem wewnętrznym, a staje się elementem obsługi klienta.

Kiedy warto przejść na dedykowaną wysyłkę

Zmiana ma sens, gdy pojawia się przynajmniej kilka z poniższych sytuacji:

  • klient dostaje mail bezpośrednio i to on jest odbiorcą docelowym,
  • rezerwacje idą codziennie i nikt nie zdąży potwierdzać ich ręcznie,
  • zdarzają się zgłoszenia "nie dostałem potwierdzenia", a firma nie umie sprawdzić, co się stało,
  • maile trafiają do spamu albo są odrzucane przez skrzynki firmowe,
  • treści jest więcej niż jedna: potwierdzenie, przypomnienie, zmiana terminu, odwołanie,
  • firma chce, żeby mail wyglądał jak jej marka, a nie jak systemowy komunikat,
  • rezerwacje mają trafiać dalej, do CRM, zgodnie z logiką opisaną we wpisie o automatyzacji rezerwacji w Next.js i Dolibarr.

Najczęstszym punktem zapalnym jest deliverability. Firma może mieć świetny system rezerwacji, ale jeżeli potwierdzenia lądują w spamie, klienci przestają ufać całemu procesowi.

Dlaczego uwierzytelnienie domeny decyduje o dostarczalności

To najczęściej pomijany element całego wdrożenia. Skrzynki odbiorcze sprawdzają, czy serwer wysyłający ma prawo wysyłać maile w imieniu Twojej domeny. Jeżeli nie ma, wiadomość dostaje niską ocenę i trafia do spamu albo w ogóle nie przechodzi.

W praktyce trzeba ustawić trzy rzeczy w DNS domeny:

  1. SPF, czyli listę serwerów uprawnionych do wysyłki z Twojej domeny.
  2. DKIM, czyli podpis kryptograficzny potwierdzający, że treść nie została podmieniona po drodze.
  3. DMARC, czyli politykę mówiącą skrzynkom, co zrobić z wiadomością, która nie przejdzie dwóch pierwszych testów.

Resend prowadzi przez tę konfigurację i pokazuje status weryfikacji domeny, co skraca ten etap z kilku dni zgadywania do jednego popołudnia. Warto też wysyłać z realnego adresu w domenie firmy, na przykład rezerwacje@twojafirma.pl, a nie z adresu na darmowej skrzynce. Ustawienie adresu odpowiedzi na prawdziwą skrzynkę firmową rozwiązuje osobny problem: klient odpowiada na potwierdzenie i ta odpowiedź gdzieś trafia.

Jak wygląda proces wysyłki po rezerwacji

W typowym wdrożeniu ścieżka jest krótka i warto ją zaprojektować raz, a potem tylko rozbudowywać.

  1. Klient wysyła formularz rezerwacji na stronie.
  2. Aplikacja waliduje dane i sprawdza, czy termin jest nadal wolny.
  3. Rezerwacja zapisuje się w bazie danych i dostaje własny identyfikator.
  4. Serwer renderuje szablon React Email z danymi rezerwacji.
  5. Resend wysyła potwierdzenie do klienta.
  6. Równolegle idzie powiadomienie do firmy, z kompletem danych i linkiem do panelu.
  7. Aplikacja zapisuje wynik wysyłki przy rezerwacji.
  8. Dane rezerwacji trafiają do CRM jako klient, kontakt i wpis w kalendarzu.

Kluczowy jest punkt siódmy. Jeżeli firma zapisuje status wysyłki obok rezerwacji, pytanie "czy klient dostał potwierdzenie" przestaje być zgadywanką. Ktoś z obsługi otwiera rezerwację w panelu administratora i widzi odpowiedź.

Druga ważna zasada dotyczy kolejności. Rezerwacja powinna zapisać się w bazie zanim ruszy wysyłka maila. Jeżeli dostawca akurat nie odpowiada, chcesz stracić maila, a nie termin klienta. Nieudaną wysyłkę można powtórzyć, utraconej rezerwacji nie odzyskasz.

Szablony jako komponenty, czyli po co to całe React Email

Największa korzyść ujawnia się przy drugim i trzecim mailu. Potwierdzenie, przypomnienie i informacja o zmianie terminu mają ten sam nagłówek, tę samą stopkę, te same dane kontaktowe i ten sam układ bloku z terminem. Przy szablonach opisanych komponentami piszesz to raz i używasz w każdej wiadomości.

Praktyczne skutki są proste. Zmiana logo albo numeru telefonu to jedna poprawka, nie sześć. Szablony leżą w repozytorium, więc widać w historii, kto i kiedy zmienił treść. Dane rezerwacji wstawiasz jako zwykłe zmienne, bez sklejania HTML ze stringów, co eliminuje całą kategorię błędów z niedomkniętymi znacznikami i źle zakodowanymi polskimi znakami. Szablon można też podejrzeć lokalnie w przeglądarce, zanim trafi do klienta.

To ta sama logika, która stoi za szablonami e-mail w CRM, tylko przeniesiona na maile wysyłane automatycznie przez aplikację.

Przykładowe wiadomości warte wdrożenia

Zestaw, który w większości firm usługowych zamyka temat:

  • potwierdzenie rezerwacji z datą, godziną, usługą, adresem i danymi kontaktowymi,
  • powiadomienie dla firmy o nowej rezerwacji, z linkiem do panelu,
  • przypomnienie dzień przed wizytą,
  • potwierdzenie zmiany terminu,
  • potwierdzenie odwołania rezerwacji,
  • wiadomość po wizycie z prośbą o opinię lub propozycją kolejnego terminu.

Do potwierdzenia warto dołożyć załącznik z wpisem do kalendarza. Klient klika raz i termin jest u niego w telefonie, zamiast przepisywać go ręcznie. Przypomnienia można prowadzić po stronie aplikacji albo po stronie CRM, zależnie od tego, gdzie firma trzyma harmonogram. Opisaliśmy to szerzej we wpisie o automatycznych przypomnieniach o terminach.

Wady i ograniczenia

To nie jest rozwiązanie bez kosztów i warto znać jego granice.

Dochodzi kolejna usługa zewnętrzna, z własnym kontem, kluczem API i limitami. Darmowy pułap wystarcza na start, ale przy większym wolumenie pojawia się abonament. Konfiguracja DNS wymaga dostępu do domeny, a w firmach, gdzie domenę trzyma dawny wykonawca strony, bywa to najdłuższy etap całego wdrożenia.

Resend odpowiada za wysyłkę transakcyjną, nie za marketing. Do kampanii, segmentacji i lead nurturingu nadal potrzebne jest osobne narzędzie klasy Mautic. Mieszanie obu rodzajów ruchu na jednej domenie potrafi zepsuć reputację wysyłkową, więc newsletter i potwierdzenia rezerwacji lepiej rozdzielić.

Sama konfiguracja też nie gwarantuje dostarczalności na zawsze. Reputację buduje się treścią i zachowaniem odbiorców. Jeżeli firma zacznie wysyłać maile do osób, które o nie nie prosiły, żadna konfiguracja tego nie uratuje.

Ile to kosztuje

Koszt dzieli się na dwie części.

Po stronie narzędzi Resend ma darmowy pułap wystarczający dla małej firmy usługowej, a płatne plany zaczynają się od kilkudziesięciu złotych miesięcznie przy większym wolumenie. React Email jest biblioteką open source, więc nie generuje opłat licencyjnych.

Po stronie wdrożenia liczy się liczba szablonów i integracji. Podpięcie wysyłki do istniejącego formularza rezerwacji z jednym potwierdzeniem i jednym powiadomieniem to zwykle kilka godzin pracy. Pełny zestaw wiadomości, konfiguracja domeny, logowanie statusów i połączenie z CRM to już osobny etap projektu. Orientacyjne widełki dla całych wdrożeń znajdziesz w cenniku.

W praktyce ten koszt zwraca się na jednym elemencie: mniejszej liczbie nieodebranych terminów i telefonów z pytaniem, czy rezerwacja przeszła.

Dla jakich branż to ma sens

Warstwa mailowa opisana wyżej przydaje się wszędzie tam, gdzie termin jest towarem:

  • salony beauty, gabinety kosmetyczne i medycyny estetycznej,
  • fizjoterapia, masaż i gabinety zdrowotne,
  • warsztaty samochodowe i serwisy,
  • wypożyczalnie sprzętu,
  • szkoły językowe i firmy szkoleniowe,
  • hotele, apartamenty i obiekty rezerwowane na doby,
  • firmy usługowe pracujące na wizytach i konsultacjach.

Wspólny mianownik jest prosty. Im droższy jest pojedynczy nieodebrany termin, tym szybciej zwraca się porządna wysyłka potwierdzeń.

Podsumowanie i CTA

Resend i React Email nie są egzotycznym wyborem technologicznym. To po prostu rozdzielenie dwóch odpowiedzialności, które w prowizorycznych wdrożeniach są zlepione w jedno: dostarczalność wiadomości i jej treść. Jedno narzędzie pilnuje, żeby mail dotarł i żeby dało się sprawdzić, co się z nim stało. Drugie pilnuje, żeby treść była spójna, czytelna na telefonie i łatwa do zmiany.

Dla firmy najważniejszy jest efekt końcowy. Klient dostaje potwierdzenie w kilka sekund po rezerwacji, ma je w skrzynce odbiorczej, a nie w spamie, i widzi w nim wszystko, czego potrzebuje. Firma widzi u siebie, że wiadomość została wysłana, i nie musi tego zgadywać przy każdym telefonie.

Jeżeli chcesz uporządkować powiadomienia w swoim systemie rezerwacji, zobacz system rezerwacji Next.js i automatyzację procesów firmowych albo skontaktuj się z nami, żeby omówić zakres dopasowany do Twojej firmy.

Krzysztof Olejnik

O autorze

Krzysztof Olejnik

Wdrażam Dolibarr CRM, systemy rezerwacji i automatyzacje procesów dla małych firm usługowych i B2B. Piszę tu o rzeczach, które realnie wdrażam u klientów: integracjach formularzy z CRM, obsłudze leadów, rezerwacjach online i Next.js.

Powiązane wpisy

Chcesz wdrożyć podobne rozwiązanie?

Możemy pomóc w uporządkowaniu CRM, formularzy, rezerwacji, leadów i automatyzacji procesów w Twojej firmie.