Niemal każdy problem z dostarczalnością, kara za naruszenie przepisów i wściekła odpowiedź „dlaczego ja to dostaję?” ma jedno źródło: mail został sklasyfikowany, a więc i wysłany, jako niewłaściwy typ. Ten rozdział odpowiada, jak odróżnić mail transakcyjny od marketingowego, dlaczego ta granica ma znaczenie zarówno prawne, jak i techniczne, oraz jak skonfigurować wysyłkę, by oba typy nigdy się nie zanieczyszczały nawzajem.
Ten poradnik zawiera ogólne informacje prawne, a nie poradę prawną. Prawo dotyczące e‑maili różni się w zależności od jurysdykcji i zmienia się w czasie. Przed oparciem się na którymkolwiek z poniższych punktów prawnych w swojej konkretnej sytuacji skonsultuj się z wykwalifikowanym prawnikiem.
Szybkie odpowiedzi na to, co obejmuje ten rozdział:
- Czym różni się mail transakcyjny od marketingowego?
- Dlaczego podział na transakcyjne i marketingowe ma takie znaczenie?
- Jak rozpoznać, którego typu jest dany mail?
- Czego wymagają przepisy (CAN-SPAM, GDPR, CASL) dla każdego typu?
- Co z mailami z szarej strefy, takimi jak porzucony koszyk i mail powitalny?
- Po co mi oddzielne subdomeny dla każdego typu?
Najważniejsze zdanie w całym tym poradniku: o typie maila decyduje jego treść i cel, a nie sposób, w jaki Twój kod akurat go wysyła. Wiadomość jest transakcyjna albo marketingowa ze względu na to, co zawiera i dlaczego ją wysłałeś, a nie dlatego, że przepuściłeś ją przez swoje „API transakcyjne” czy „narzędzie do kampanii”. Filtry, regulatorzy i odbiorcy oceniają wiadomość, nigdy Twoją architekturę. Każda poniższa zasada wynika z tego jednego faktu.
Czym różni się mail transakcyjny od marketingowego?
Mail transakcyjny potwierdza lub kończy coś, co użytkownik właśnie zrobił albo na co czeka. Mail marketingowy to coś, co wysyłasz, bo chcesz, żeby użytkownik to przeczytał, a nie dlatego, że go wywołał.
Inaczej mówiąc: mail transakcyjny to coś, na co użytkownik czeka; mail marketingowy to coś, co chcesz, żeby przeczytał.
- Mail transakcyjny jest wyzwalany przez konkretne działanie użytkownika (rejestrację, zakup, prośbę o reset hasła) albo przez obowiązek prawny, który masz wobec użytkownika. Niesie informację, której użytkownik potrzebuje i której oczekuje. Przykłady: resety haseł, potwierdzenia zamówień, kody OTP/2FA, powiadomienia o wysyłce, paragony.
- Mail marketingowy wysyłasz według własnego harmonogramu, aby promować, informować lub ponownie zaangażować. Jego celem jest skłonienie do przyszłego działania (zakup, kliknięcie, powrót). Przykłady: newslettery, zapowiedzi produktów, oferty promocyjne, przypomnienia o porzuconym koszyku.
Klasyfikacja decyduje od razu o trzech rzeczach: które przepisy mają zastosowanie, czy potrzebujesz zgody i linku do wypisu oraz z której subdomeny wysyłkowej powinna wyjść wiadomość. Pomyl typ, a złamiesz przynajmniej jedną z nich.
Trzy niezależne osie klasyfikacji
Warto przestać myśleć o „transakcyjny vs marketingowy” jak o pojedynczym przełączniku i zamiast tego widzieć trzy osie, które zwykle się pokrywają, ale potrafią się rozejść. Gdy się rozchodzą, masz mail z szarej strefy i musisz go sklasyfikować defensywnie.
| Oś | Biegun transakcyjny | Biegun marketingowy |
|---|---|---|
| Wyzwalacz | Spowodowany jednym konkretnym działaniem użytkownika lub obowiązkiem prawnym | Zainicjowany przez Ciebie według harmonogramu lub segmentu |
| Treść | Niesie wyłącznie informację wynikającą z wyzwalacza | Zawiera ofertę, promocję lub perswazję |
| Oczekiwanie odbiorcy | Użytkownik aktywnie na niego czeka | Użytkownik nie prosił o tę konkretną wiadomość |
Gdy wszystkie trzy bieguny wskazują „transakcyjny”, masz jednoznacznie mail transakcyjny. Gdy wszystkie trzy wskazują „marketingowy”, jest to jednoznacznie marketing. Niebezpieczne są maile, w których wyzwalacz wygląda transakcyjnie (prawdziwy koszyk, prawdziwa rejestracja), ale oś treści wskazuje marketing (oferta, rabat). Oś treści wygrywa. Regulatorzy i filtry czytają wiadomość, a nie logikę Twoich wyzwalaczy. Paragon ze stopką „20% rabatu” to mail marketingowy, który przy okazji zawiera też paragon.
Dlaczego dostawcy skrzynek w ogóle się tym przejmują
Kuszące jest traktowanie tego podziału jako artefaktu prawnego. Tak nie jest. Od lutego 2024 r. trzej najwięksi operatorzy konsumenckich skrzynek pocztowych, Google (Gmail), Yahoo i Microsoft, egzekwują konkretne wymogi dla nadawców masowych, które zależą bezpośrednio od tego rozróżnienia:
- Uwierzytelnianie. Każda domena wysyłkowa musi przechodzić SPF (RFC 7208) i DKIM (RFC 6376), a domena organizacyjna musi publikować politykę DMARC (RFC 7489) o wartości co najmniej
p=nonez wyrównaniem (alignment). - Wskaźnik skarg spamowych poniżej 0,3%. Mierzony przez dostawcę (np. przez Google Postmaster Tools), to twardy sufit. Utrzymujące się wartości powyżej 0,3% powodują throttling lub wrzucanie poczty do spamu; miękki cel to poniżej 0,1%.
- Wypis jednym kliknięciem dla poczty masowej. Wiadomości klasy marketingowej muszą implementować wypis jednym kliknięciem wg RFC 8058 (nagłówki
List-UnsubscribeiList-Unsubscribe-Postrazem) i muszą honorować żądanie w ciągu dwóch dni.
„Masowy” jest zwykle rozumiany jako mniej więcej 5000+ wiadomości dziennie do danego dostawcy, ale rozsądnie jest założyć, że każdy strumień marketingowy w końcu przekroczy tę granicę, więc projektujesz pod to od pierwszego dnia. Co kluczowe, sufit skarg 0,3% liczony jest dla całej Twojej tożsamości wysyłkowej. Jeśli skargi marketingowe i poczta transakcyjna dzielą domenę, jedna nieudana kampania może wypchnąć Twój łączny wskaźnik poza granicę i pogrzebać Twoje resety haseł. To jest techniczny powód, niezależny od jakiegokolwiek prawa, by rozdzielić strumienie. Zobacz Niezawodność wysyłki, jak reputacja narasta per tożsamość.
Dlaczego podział na transakcyjne i marketingowe ma takie znaczenie?
Bo to nie kwestia stylu. Zmienia on zasady, których musisz przestrzegać, oraz konfigurację techniczną utrzymującą Twoją pocztę w skrzynce odbiorczej. Właściwe rozróżnienie daje trzy konkretne korzyści:
- Mniejsza ekspozycja prawna. Mail marketingowy jest regulowany znacznie surowiej niż transakcyjny. Błędne zaklasyfikowanie wiadomości marketingowej jako transakcyjnej, aby pominąć zgodę lub link do wypisu, to jeden z najczęstszych i najkosztowniejszych błędów zgodności.
- Lepsza dostarczalność. Dostawcy skrzynek (Gmail, Outlook, Apple Mail) oceniają nadawców na podstawie zaangażowania i skarg. Mieszanie treści promocyjnych w resecie hasła uczy filtry antyspamowe, by nie ufać Twojej najważniejszej poczcie.
- Większe zaufanie użytkownika. Ludzie oczekują, że paragon będzie wyglądał jak paragon. W chwili, gdy mail „transakcyjny” próbuje coś dosprzedać, dorozumiana umowa zostaje złamana, a wskaźnik skarg rośnie. Wskaźnik skarg powyżej 0,3% (próg Gmaila) zaczyna szkodzić każdemu wysyłanemu mailowi.
Co pójdzie nie tak, jeśli pomylę typ?
- Marketing przebrany za transakcyjny: wysyłasz bez zgody, pomijasz link do wypisu i narażasz się na kary z GDPR (do 20 mln euro lub 4% globalnego obrotu) albo CAN-SPAM (do 53 088 USD za jeden mail w USA).
- Transakcyjny przebrany za marketing: użytkownicy wypisują się z „Twoich maili” i potem nigdy nie dostają resetu hasła ani paragonu, co generuje zgłoszenia do wsparcia i blokady kont.
- Oba zmieszane na jednej subdomenie: jedna nieudana kampania ciągnie w dół reputację, która dostarcza Twoje paragony, i resety haseł zaczynają lądować w spamie.
Jak naprawdę kumulują się scenariusze awarii
Powód, dla którego ma to większe znaczenie, niż sugeruje schludna tabelka dwa na dwa, jest taki, że awarie napędzają się nawzajem. Prześledź jeden realistyczny łańcuch:
- Zespół ds. wzrostu dodaje blok „Zaoszczędź 15% na następnym zamówieniu” do maila z potwierdzeniem zamówienia. Z prawnego punktu widzenia jest to teraz mail marketingowy, ale nadal przechodzi przez system transakcyjny, więc nie ma linku do wypisu.
- Odbiorcy, którzy nie chcą promocji, nie mogą się wypisać, więc część z nich klika „Zgłoś spam” zamiast tego, jedyny dostępny im przycisk.
- Wskaźnik skarg na współdzielonej domenie przekracza 0,3%. Gmail zaczyna wrzucać pocztę z tej domeny do spamu.
- Ponieważ ta sama domena niesie resety haseł, one też zaczynają lądować w spamie. Użytkownicy, którzy nie mogą się już zalogować, składają zgłoszenia do wsparcia i z frustracji również oznaczają maile z resetem hasła jako spam, co podbija wskaźnik jeszcze wyżej.
- Teraz oba strumienie są uszkodzone, odzyskanie zajmuje tygodnie ostrożnego ponownego rozgrzewania, a pierwotny eksperyment „15% rabatu” nigdy nawet nie został czysto zmierzony.
Każde ogniwo tego łańcucha jest bezpośrednią konsekwencją jednej decyzji z kroku 1. Dlatego podział traktuje się jako kwestię architektoniczną, a nie kosmetyczną.
Jak rozpoznać, którego typu jest dany mail?
Przepuść mail przez tę listę, zanim wyślesz jakikolwiek nowy typ. Jeśli jeden mail daje sprzeczne odpowiedzi, jest hybrydą i powinieneś go rozdzielić.
- Czy mail jest wyzwalany przez konkretne działanie użytkownika lub obowiązek prawny? Skłania się ku transakcyjnemu.
- Czy zawiera jakąkolwiek ofertę, promocję, dosprzedaż lub sprzedaż krzyżową? To marketing.
- Czy użytkownik byłby zablokowany lub poszkodowany, gdyby mail nie dotarł? Transakcyjny.
- Czy opieram jego wysyłkę na zgodzie? To marketing.
- Czy zawiera link do wypisu? Powinien być marketingowy.
- Czy wysyłam go z subdomeny marketingowej? Powinien być marketingowy.
Procedura decyzyjna, którą uruchomisz w głowie
Gdy lista kontrolna daje mieszane odpowiedzi, rozstrzygaj w tej ustalonej kolejności. Zatrzymaj się na pierwszej regule, która zadziała:
- Czy treść zawiera jakąkolwiek ofertę, dosprzedaż, sprzedaż krzyżową, rabat lub promocję „skoro już tu jesteś”? → Marketing. (Oś treści przebija wszystko.)
- Czy mógłbyś wstrzymać ten mail, a użytkownik zostałby zablokowany, odcięty od konta lub pozbawiony zapisu, którego potrzebuje? → Transakcyjny.
- Czy głównym celem maila jest skłonienie do przyszłego działania, a nie potwierdzenie przeszłego? → Marketing.
- Czy opierasz wysyłkę na zgodzie użytkownika (a nie na umowie lub wyraźnym działaniu użytkownika) jako swoim powodzie? → Marketing.
- Nic z powyższego nie zadziałało jednoznacznie? → Potraktuj go jak marketing. Koszt błędnego dodania linku do wypisu do maila transakcyjnego jest bliski zeru; koszt błędnego pominięcia go w mailu marketingowym to kara plus uderzenie w dostarczalność.
Ten ostatni domyślny wybór, „w razie wątpliwości marketing”, jest celowy. Asymetria konsekwencji oznacza, że bezpieczny kierunek pomyłki to nadklasyfikowanie jako marketing, nigdy niedoklasyfikowanie.
Jak rozpoznać mail transakcyjny?
Zadaj sobie te pytania. Jeśli odpowiedź na większość brzmi „tak”, to mail jest transakcyjny:
- Czy użytkownik właśnie coś zrobił, co ten mail potwierdza lub kończy?
- Czy użytkownik byłby zdezorientowany, zablokowany lub zaniepokojony, gdyby mail nie dotarł?
- Czy jest wolny od ofert, sprzedaży krzyżowej i treści „skoro już tu jesteś”?
- Czy bez obaw wysłałbyś go nawet do kogoś, kto nigdy nie wyraził zgody na marketing?
Prosta analogia: maile transakcyjne to wszystko, co w świecie realnym zostawiłoby Ci papierowy paragon. Faktury, bilet parkingowy, potwierdzenie rezerwacji. Jeśli naturalnie istniałby fizyczny ślad na papierze, to jego cyfrowy odpowiednik prawie zawsze jest transakcyjny.
Cechy maili transakcyjnych:
- Zainicjowane lub oczekiwane przez użytkownika
- Wrażliwe na czas i wymagające działania
- Niezbędne, aby użytkownik mógł dokończyć działanie
- Nie zawierają materiałów promocyjnych ani ofert
- Mogą być wysyłane bez wyraźnej zgody (z ograniczeniami)
Częste przykłady transakcyjne: linki do resetu hasła, potwierdzenia zamówień, weryfikacja konta, kody OTP/2FA, powiadomienia o wysyłce, paragony, alerty bezpieczeństwa, powiadomienia o płatnościach.
Test „jeden wyzwalacz, jeden odbiorca, jeden skutek” to szybki sposób na potwierdzenie: mail transakcyjny jest wysyłany do dokładnie jednej osoby jako bezpośredni rezultat dokładnie jednego zdarzenia, a wysyłanie go do kogokolwiek innego byłoby bez sensu. Nigdy nie „zaplanowałbyś kampanii” resetów haseł do segmentu. W chwili, gdy mail jest adresowany do listy lub segmentu, opuścił kategorię transakcyjną, niezależnie od treści.
Jak rozpoznać mail marketingowy?
- Jego celem jest skłonienie do przyszłego działania (zakup, lektura, kliknięcie, powrót), a nie potwierdzenie czegoś przeszłego.
- „Zadziałałby” również, gdybyś opóźnił go o dzień lub tydzień.
- Jego usunięcie nie przerwałoby żadnego procesu, który rozpoczął użytkownik.
- Jego sukces mierzy się otwarciami, kliknięciami i konwersjami, a nie dostarczeniem.
Cechy maili marketingowych:
- Treść promocyjna lub informacyjna
- Niewrażliwe na czas w kontekście dokończenia transakcji
- Wymagają wyraźnej zgody (opt‑in) w regionach opt‑in
- Muszą zawierać opcję wypisu
- Podlegają surowszym wymogom zgodności
Częste przykłady marketingowe: newslettery, zapowiedzi produktów, oferty promocyjne, aktualności firmowe, treści edukacyjne, kampanie ponownego zaangażowania oraz maile o porzuconym koszyku (zobacz pytanie o szarą strefę poniżej).
Jak wygląda porównanie obok siebie?
| Wymiar | Transakcyjny | Marketingowy |
|---|---|---|
| Wyzwalacz | Konkretne działanie użytkownika lub obowiązek prawny | Kampania lub harmonogram, które kontrolujesz |
| Audytorium | Jeden odbiorca na zdarzenie | Lista lub segment |
| Zgoda (UE/Kanada) | Umowa / prawnie uzasadniony interes | Wymagana wyraźna zgoda (opt‑in) |
| Link do wypisu | Niewymagany (i zwykle pomijany) | Wymagany (jednym kliknięciem wg RFC 8058 dla poczty masowej) |
Nagłówek List-Unsubscribe | Opcjonalny, zwykle pomijany | Wymagany dla nadawców masowych |
| Treść promocyjna | Niedozwolona | Oczekiwana |
| Czas | Natychmiast, wrażliwy na czas | Elastyczny |
| Główna metryka | Dostarczenie i szybkość | Otwarcie / kliknięcie / konwersja |
| Zakres supresji | Tylko bounce i twarde błędy | Bounce, skargi oraz wypisy |
| Typowa subdomena | t.yourdomain.com | m.yourdomain.com |
| Typowy wzorzec wysyłki | Stały, sterowany zdarzeniami strumyk | Skokowe, planowane wysyłki masowe |
| Skutek awarii | Użytkownik jest zablokowany | Kampania osiąga słabsze wyniki |
Subtelny, ale ważny wiersz to zakres supresji. Poczta marketingowa musi respektować listę supresji obejmującą wypisy i skargi; poczta transakcyjna zasadniczo nie może honorować marketingowego wypisu (bo przestałaby wysyłać paragony, których użytkownik potrzebuje). Utrzymanie tych zakresów supresji osobno to twardy wymóg, omówiony w Zarządzaniu listą.
Czego wymagają przepisy dla każdego typu?
Przypomnienie: poniższe to ogólne informacje, a nie porada prawna. Przepisy różnią się między krajami i się zmieniają. Zweryfikuj aktualne zasady dla rynków, do których wysyłasz.
W skrócie: USA stosuje model opt‑out, UE stosuje model opt‑in, a Kanada model zgody w dwóch wariantach. Jeśli obsługujesz więcej niż jeden region, projektuj pod najsurowszy mający zastosowanie standard (zwykle opt‑in UE plus widoczny wypis). Dzięki temu jeden proces wysyłki pozostaje zgodny na wielu rynkach.
Przydatny model myślowy: prawo reguluje głównie strumień marketingowy. Mail transakcyjny to wyłączenie, które istnieje w każdym reżimie właśnie dlatego, że użytkownik go potrzebuje. Dlatego „czy to jest transakcyjne?” jest jednocześnie pytaniem „czy wolno mi pominąć zgodę?”, i dlatego w ogóle istnieje pokusa błędnej klasyfikacji.
Czego wymaga CAN-SPAM (USA)?
USA stosuje model opt‑out. Nie potrzebujesz uprzedniej zgody, by wysłać mail marketingowy, ale musisz honorować żądania wypisu.
CAN-SPAM stosuje trójdzielną klasyfikację opartą na treści, transakcyjna lub relacyjna, komercyjna oraz dwucelowa, zamiast prostego podziału dwuczęściowego. Wiadomość, której głównym celem jest cel komercyjny, jest „wiadomością komercyjną” i niesie pełne obowiązki; wiadomość będąca wyłącznie treścią transakcyjną lub relacyjną jest zwolniona z większości z nich, ale wciąż nie może zawierać fałszywych ani wprowadzających w błąd nagłówków.
Maile transakcyjne wg CAN-SPAM:
- Mogą być wysyłane bez opt‑in
- Muszą być powiązane z transakcją
- Nie mogą zawierać treści promocyjnych (z wąskimi wyjątkami)
- Muszą identyfikować nadawcę i podawać dane kontaktowe
Maile marketingowe wg CAN-SPAM:
- Wymagają mechanizmu opt‑out (w USA nie opt‑in)
- Muszą zawierać jasną identyfikację nadawcy
- Nie mogą używać zwodniczych tematów ani pól „Od”
- Muszą zawierać ważny fizyczny adres pocztowy
- Muszą honorować żądania opt‑out w ciągu 10 dni roboczych
Reguła „głównego celu” to właśnie to, co, szczególnie w USA, przekreśla wzorzec paragonu z ofertą: gdy wiadomość miesza treść transakcyjną i komercyjną, FTC patrzy na to, czy odbiorca rozsądnie zinterpretowałby temat i większość treści jako komercyjne. Paragon z dominującym banerem promocyjnym może przeskoczyć do „komercyjnego” i utracić swoje zwolnienie.
Praktyczny wniosek: choć USA nie wymaga opt‑in, koszt dostarczalności przy wysyłce do osób, które o to nie prosiły, jest wysoki. Traktuj opt‑in jako dobrą praktykę wszędzie, nawet tam, gdzie prawo dopuszcza opt‑out.
Czego wymaga GDPR (UE)?
UE stosuje model opt‑in. Zgoda musi być dobrowolna, konkretna, świadoma i jednoznaczna. Wstępnie zaznaczone pola i zgoda w pakiecie się nie liczą. W praktyce operacyjna reguła marketingu e‑mailowego w UE wynika z dyrektywy ePrivacy (dyrektywy o „plikach cookie i komunikacji elektronicznej”), przy czym GDPR reguluje leżące u podstaw dane osobowe i definiuje, jak wygląda ważna zgoda.
Maile transakcyjne wg GDPR:
- Mogą być wysyłane na podstawie prawnie uzasadnionego interesu lub realizacji umowy
- Muszą być niezbędne do świadczenia usługi
- Nie mogą zawierać treści marketingowych bez osobnej zgody
Maile marketingowe wg GDPR:
- Wymagają wyraźnej zgody opt‑in
- Muszą jasno określać cel zbierania danych
- Muszą zapewniać łatwy wypis
- Podlegają wymogom ochrony danych, w tym prawu do usunięcia danych
Dlaczego to ważne: w ramach GDPR podstawą prawną maila transakcyjnego jest zwykle „wykonanie umowy”. Wysyłasz go, ponieważ jesteś winien użytkownikowi usługę. W chwili, gdy dodasz baner promocyjny, ta podstawa przestaje obejmować wiadomość i faktycznie wysyłasz marketing bez zgody.
Warto znać jeden wąski wyjątek w UE: soft opt‑in. Dyrektywa ePrivacy dopuszcza marketing do istniejącego klienta dotyczący Twoich własnych podobnych produktów, pod warunkiem że zebrałeś adres podczas sprzedaży, dałeś jasny opt‑out w momencie zbierania, a każda kolejna wiadomość oferuje łatwy wypis. Nie obejmuje on potencjalnych klientów, danych od stron trzecich ani niepowiązanych produktów, a kilka państw członkowskich wdraża go surowiej. Nie opieraj się na nim bez lokalnej porady, ale wiedz, że istnieje, bo to dzięki niemu posprzedażowy mail „może Cię też zainteresować” bywa w UE legalny bez świeżego zaznaczenia pola.
Czego wymaga CASL (Kanada)?
Kanadyjska CASL należy do najsurowszych reżimów. Rozróżnia zgodę wyraźną (użytkownik aktywnie się zgodził) i dorozumianą (np. istniejąca relacja biznesowa). Kary sięgają do 10 mln CAD za jedno naruszenie dla organizacji.
Maile transakcyjne wg CASL:
- Mogą być wysyłane bez zgody, jeśli dotyczą trwającej relacji biznesowej
- Muszą być rzeczowe i niepromocyjne
Maile marketingowe wg CASL:
- Wymagają zgody wyraźnej lub dorozumianej
- Muszą zawierać mechanizm wypisu działający przez co najmniej 60 dni
- Muszą jasno identyfikować nadawcę i podawać ważne dane kontaktowe
CASL jest najsurowsza z całej trójki, ponieważ reguluje samo wysłanie komercyjnej wiadomości elektronicznej, a nie tylko zasady dotyczące jej treści. Zgoda dorozumiana z „istniejącej relacji biznesowej” jest również ograniczona w czasie (zwykle dwa lata od ostatniego zakupu lub sześć miesięcy od zapytania), po czym wygasa i potrzebujesz zgody wyraźnej. Jeśli obsługujesz Kanadę, Twoje rejestry zgód muszą przechowywać, kiedy i jak zgoda została uzyskana, ponieważ ciężar dowodu spoczywa na nadawcy. Zobacz Pozyskiwanie adresów, jak zapisywać to przy rejestracji.
Który model zgody obowiązuje w każdym regionie?
| Region | Model marketingowy | Podstawa transakcyjna | Wypis |
|---|---|---|---|
| USA (CAN-SPAM) | Opt‑out | Powiązanie z transakcją | Honorować w ciągu 10 dni roboczych |
| UE (GDPR / ePrivacy) | Opt‑in (wyraźny), wąski soft opt‑in | Umowa / prawnie uzasadniony interes | Wymagany łatwy wypis |
| Kanada (CASL) | Zgoda wyraźna lub dorozumiana | Trwająca relacja biznesowa | Wypis ważny 60+ dni |
Projektowanie jednego procesu spełniającego wszystkie trzy
Nie chcesz logiki wysyłki specyficznej dla regionu rozrzuconej po całej aplikacji. Utrzymywalny wzorzec to budowanie pod najsurowszy wspólny mianownik i przechowywanie metadanych wystarczających, by to udowodnić:
- Zbieraj wyraźny opt‑in wszędzie (spełnia wymóg zgody wyraźnej UE i CASL; przewyższa wymogi USA).
- Rejestruj proweniencję zgody dla każdego subskrybenta: znacznik czasu, źródło (który formularz/checkbox), dokładne pokazane sformułowanie oraz IP/locale. To artefakt, który przedstawisz, jeśli regulator zapyta.
- Umieść działający wypis w każdej wiadomości marketingowej, zaimplementowany jako jednym kliknięciem (RFC 8058), aby spełniał też reguły nadawców masowych Gmaila/Yahoo/Microsoftu, plus widoczny link w treści oraz Twój fizyczny adres pocztowy (CAN-SPAM).
- Honoruj wypisy natychmiast w praktyce, mimo że prawo dopuszcza do 10 dni roboczych, współcześni odbiorcy oczekują natychmiastowego usunięcia, a powolne usuwanie napędza skargi.
- Nigdy nie stosuj supresji marketingowej do wysyłek transakcyjnych. Zakres wypisu dotyczy wyłącznie marketingu.
Pełne zestawienie wymogów prawnych dla każdego typu maila znajdziesz w Zgodności prawnej.
Kiedy używać każdego typu?
Kiedy mail powinien być transakcyjny?
- Użytkownik potrzebuje maila, aby dokończyć działanie
- Mail potwierdza transakcję lub zmianę konta
- Mail dostarcza informacji związanych z bezpieczeństwem
- Mail jest oczekiwany na podstawie działania użytkownika
- Treść jest wrażliwa na czas i wymaga działania
- Masz obowiązek dostarczyć powiadomienie ze względu na zgodność
Kiedy mail powinien być marketingowy?
- Promujesz produkty lub usługi
- Wysyłasz newslettery lub aktualności
- Dzielisz się treściami edukacyjnymi
- Ogłaszasz funkcje lub wiadomości firmowe
- Treść nie jest wymagana do żadnej transakcji
Co z mailami z szarej strefy, które wyglądają jak oba?
Niektóre maile balansują na granicy. Oto jak sklasyfikować te najczęstsze.
Czy mail o porzuconym koszyku jest transakcyjny czy marketingowy?
Marketingowy, w większości jurysdykcji. Wiele zespołów zakłada, że maile odzyskujące koszyk są transakcyjne, bo odwołują się do prawdziwego koszyka. Ale użytkownik nie dokończył transakcji, a celem maila jest przekonanie go do zakupu. Traktuj go jak marketing: wymagaj zgody i dołącz link do wypisu.
Czy mail powitalny jest transakcyjny czy marketingowy?
To zależy od treści. Mail powitalny, który potwierdza konto i wyjaśnia, jak zacząć, może być transakcyjny, o ile nie niesie żadnej promocji. Dodaj kod rabatowy, blok „sprawdź nasze inne produkty” albo zachętę do newslettera, a staje się marketingowy i wymaga zgody oraz linku do wypisu.
Jakie inne maile bywają często źle klasyfikowane?
- Maile o aktualizacjach produktu / changelog: marketingowe, chyba że zmiana wymaga działania użytkownika (np. obowiązkowa migracja lub poprawka bezpieczeństwa). Informacyjna treść „zobacz, co nowego” jest marketingowa.
- Maile ponownego zaangażowania / „tęsknimy za Tobą”: marketingowe. Skłaniają do przyszłego działania i wymagają zgody.
- Paragony ze stopką dosprzedażową: paragon jest transakcyjny, ale stopka dosprzedażowa czyni całą wiadomość marketingową. Usuń stopkę.
- Prośby o ankietę i opinię: zwykle marketingowe, chyba że ankieta jest wymaganą częścią usługi, którą użytkownik właśnie realizuje.
Tabela referencyjna dla najtrudniejszych przypadków
| Domyślna klasyfikacja | Przeskakuje na drugi typ, gdy… | |
|---|---|---|
| Przypomnienie o porzuconym koszyku | Marketingowy | (Nigdy transakcyjny, sprzedaż nie została dokończona) |
| Powitalny / onboardingowy | Transakcyjny | Zawiera promocję, rabat lub zachętę do newslettera |
| Weryfikacja konta/e‑maila | Transakcyjny | (Pozostaje transakcyjny, nigdy nie dodawaj ofert) |
| Reset hasła, OTP/2FA | Transakcyjny | (Pozostaje transakcyjny, nigdy nie dodawaj ofert) |
| Paragon / faktura | Transakcyjny | Baner promocyjny staje się głównym celem |
| Aktualizacja wysyłki/dostawy | Transakcyjny | Dołącza produkty „polecane dla Ciebie” |
| Powiadomienie o odnowieniu subskrypcji | Transakcyjny | Pcha jako główny przekaz dosprzedaż wyższego planu |
| Powiadomienie o nieudanej płatności / dunning | Transakcyjny | Zostaje przeformułowane jako oferta win‑back |
| Changelog produktu / „co nowego” | Marketingowy | Zmiana wymaga obowiązkowego działania użytkownika (bezpieczeństwo, migracja) |
| Ponowne zaangażowanie / „tęsknimy za Tobą” | Marketingowy | (Nigdy transakcyjny) |
| Ankieta opinii / NPS | Marketingowy | Ankieta jest wymaganym krokiem w aktywnym procesie usługi |
| Aktualizacja polityki / regulaminu | Transakcyjny | Jest używana jako pretekst do remarketingu do nieaktywnych użytkowników |
| Przypomnienie o wydarzeniu (użytkownik się zarejestrował) | Transakcyjny | Promuje inne wydarzenia, na które użytkownik się nie zarejestrował |
| Alert aktywności konta / bezpieczeństwa | Transakcyjny | (Pozostaje transakcyjny) |
Wzorzec we wszystkich wierszach jest identyczny: mail zaczyna jako transakcyjny lub marketingowy na podstawie swojego wyzwalacza i przeskakuje w stronę marketingu w chwili dodania treści promocyjnej. Nigdy nie przeskakuje w drugą stronę. Nie ma takiej treści, którą mógłbyś dodać do maila marketingowego, by uczynić go transakcyjnym.
Jak postąpić z prawdziwą hybrydą, która miesza oba?
Niektóre maile naprawdę mieszają treść transakcyjną i marketingową (np. newsletter z wciśniętą drobną aktualizacją statusu zamówienia). To nie jest dobra praktyka i należy tego unikać.
Dlaczego hybrydy są niebezpieczne:
- Tracą ochronę prawną kategorii transakcyjnej. Treść promocyjna może wymagać zgody i linku do wypisu, mimo że mail niesie też kluczowe informacje.
- Jeśli użytkownik wypisze się z „newsletterowej połowy”, możesz nieumyślnie przestać wysyłać mu aktualizacje zamówień, których faktycznie potrzebuje.
- Zacierają reputację między strumieniem transakcyjnym a marketingowym, obniżając dostarczalność obu.
Jak naprawić hybrydę:
- Określ jeden najważniejszy cel maila.
- Usuń wszystko, co nie służy temu celowi.
- Jeśli usunięta treść nadal ma znaczenie, wyślij ją jako osobny mail właściwego typu.
- Skieruj każdy mail przez pasującą subdomenę i reguły zgody.
Częsty bezpieczny wzorzec: transakcyjne potwierdzenie zamówienia bez żadnej promocji, a następnie (tylko jeśli użytkownik wyraził zgodę na marketing) osobna kampania „może Cię też zainteresować”.
Przykład praktyczny: rozdzielenie zanieczyszczonego potwierdzenia zamówienia
Załóżmy, że produkt chce, by potwierdzenie zamówienia napędzało też ponowne zakupy. Nie ulegaj pokusie scalenia. Rozdziel na dwie wiadomości:
Kod dla zespołu technicznego (TypeScript)
// provider to generyczny, niezależny od ESP wrapper wokół tego, czego używasz
// (Amazon SES, Postmark, SendGrid, Mailgun, Resend, Brevo, SparkPost…).
// Chodzi o to, by ŻADNE specyfiki ESP nie przeciekały do tego kodu.
import { provider } from './lib/email';
type Order = { id: string; email: string; total: string; items: string[] };
// 1) TRANSAKCYJNY: zawsze wysyłany, bez zgody, bez promocji, bez wypisu.
async function sendOrderConfirmation(order: Order) {
await provider.send({
from: 'Acme Orders <orders@t.yourdomain.com>', // subdomena transakcyjna
to: order.email,
subject: `Order ${order.id} confirmed`,
text:
`Thanks for your order.\n\n` +
`Order: ${order.id}\n` +
`Total: ${order.total}\n` +
`Items:\n${order.items.map((i) => ` - ${i}`).join('\n')}\n\n` +
`We'll email you again when it ships.`,
// Brak nagłówka List-Unsubscribe: to jest transakcyjny.
});
}
// 2) MARKETINGOWY: tylko jeśli użytkownik wyraził zgodę. Osobna subdomena, wypis wymagany.
async function sendPostPurchaseUpsell(order: Order, unsubscribeUrl: string) {
const consented = await hasMarketingConsent(order.email);
if (!consented) return; // twarda bramka, nigdy nie wysyłaj marketingu bez zgody
await provider.send({
from: 'Acme <hello@m.yourdomain.com>', // subdomena marketingowa
to: order.email,
subject: 'Picked for you, based on your order',
text: `You might also like…\n\nManage preferences: ${unsubscribeUrl}`,
headers: {
// RFC 8058 wypis jednym kliknięciem, wymagany dla masowej poczty marketingowej.
'List-Unsubscribe': `<${unsubscribeUrl}>, <mailto:unsubscribe@m.yourdomain.com>`,
'List-Unsubscribe-Post': 'List-Unsubscribe=One-Click',
},
});
}
// Miejsce wywołania: wysyłka transakcyjna jest bezwarunkowa; marketingowa jest bramkowana.
export async function onOrderPlaced(order: Order, unsubscribeUrl: string) {
await sendOrderConfirmation(order); // zawsze
await sendPostPurchaseUpsell(order, unsubscribeUrl); // tylko jeśli wyrażono zgodę
}
// Zastępnik Twojego prawdziwego magazynu zgód; zobacz rozdział 06 (Pozyskiwanie adresów).
declare function hasMarketingConsent(email: string): Promise<boolean>;
Dwa maile, dwie subdomeny, dwa zestawy reguł, zero zanieczyszczenia. Wiadomość transakcyjna nigdy nie może zostać zablokowana przez marketingowy wypis, a wiadomość marketingowa nigdy nie może obniżyć wskaźnika skarg domeny transakcyjnej. Zobacz Projektowanie maili transakcyjnych i Maile marketingowe, aby poznać dobre praktyki dotyczące treści po każdej ze stron.
Jakich maili transakcyjnych faktycznie potrzebuje moja aplikacja?
Pełny katalog maili transakcyjnych i rekomendowane zestawy dla różnych typów aplikacji znajdziesz w Katalogu maili transakcyjnych.
Szybka ściąga, podstawy dla większości aplikacji:
- Weryfikacja e‑maila jest wymagana do utworzenia konta.
- Reset hasła jest wymagany do odzyskania konta.
- Mail powitalny to dobre doświadczenie użytkownika (i nie może być promocyjny).
Katalog zawiera szczegółowe wskazówki dla:
- Aplikacji skupionych na uwierzytelnianiu
- Platform newsletterowych / treściowych
- E‑commerce / marketplace’ów
- Usług SaaS / subskrypcyjnych
- Aplikacji finansowych / fintech
- Platform społecznościowych
- Narzędzi deweloperskich / platform API
- Aplikacji medycznych / zgodnych z HIPAA
Po co mi oddzielne subdomeny dla transakcyjnych i marketingowych?
Bo dostawcy skrzynek śledzą reputację per domena wysyłkowa. Jeśli wysyłka marketingowa wywoła skargi, odizolowana subdomena m. przyjmie na siebie szkody, podczas gdy Twoja subdomena t., ta niosąca resety haseł i paragony, pozostaje czysta. Nigdy nie wysyłaj resetów haseł z tej samej domeny co promocje.
Korzyści z separacji:
- Chroni dostarczalność maili transakcyjnych
- Pozwala używać różnych domen uwierzytelniających
- Daje każdemu strumieniowi niezależną reputację
- Ułatwia zarządzanie zgodnością
Wdrożenie: używaj różnych subdomen, np. t.yourdomain.com dla transakcyjnych i m.yourdomain.com dla marketingowych. Skonfiguruj SPF, DKIM i DMARC na każdej. Konfigurację uwierzytelniania opisuje Dostarczalność.
Subdomeny, strumienie i pule IP, co właściwie jest rozdzielane?
„Oddzielne subdomeny” to nagłówek, ale istnieją cztery poziomy izolacji i nie są tym samym. Zrozum, które z nich kontrolujesz:
- Reputacja domeny nadawcy (subdomeny). Najważniejsza i ta, którą zawsze kontrolujesz. Dostawcy skrzynek przypisują reputację do domeny organizacyjnej oraz konkretnej subdomeny wysyłkowej. Odrębne subdomeny (
t.vsm.) dają obu strumieniom niezależne historie reputacji. To jest obowiązkowe. - Domena podpisu DKIM (
d=). Twój podpis DKIM niesie domenęd=. Wyrównanie jej do pasującej subdomeny wzmacnia separację i jest tym, co sprawdza wyrównanie DMARC. Podpisuj pocztę transakcyjną przezd=t.yourdomain.com, a marketingową przezd=m.yourdomain.com. - „Strumienie” wysyłki / „subużytkownicy”. Wielu dostawców udostępnia logiczną koncepcję „strumienia wiadomości” lub „subkonta”, aby trzymać konfigurację, listy supresji i analitykę osobno, jeszcze przed IP. Użyj ich, by listy supresji transakcyjne i marketingowe nie przeciekały do siebie nawzajem.
- Pule IP. Przy wystarczającym wolumenie umieszczasz oba strumienie na osobnych dedykowanych IP (lub pulach IP), aby reputacja IP nie przenikała między strumieniami. Poniżej kilkudziesięciu tysięcy wiadomości miesięcznie dobrze zarządzane współdzielone IP zwykle wystarcza, a dedykowane IP może wręcz zaszkodzić (nie utrzymasz go rozgrzanego). Separacja IP to sprawa wysokiego wolumenu; separacja domen to sprawa od pierwszego dnia.
Zasada kciuka: zawsze rozdzielaj na poziomie domeny/subdomeny od pierwszego dnia; separację pul IP dodawaj dopiero, gdy wolumen uzasadnia dedykowane IP. Mechanika rozgrzewania i reputacji znajduje się w Niezawodności wysyłki.
Gotowy do skopiowania DNS dla dwóch czystych subdomen wysyłkowych
To są rekordy poglądowe. Twój dostawca podaje dokładne wartości CNAME/TXT dla DKIM (selektor i klucz są jego); include SPF i polityka DMARC to Twoje do ustawienia. Zastąp yourdomain.com, selektor DKIM i include dostawcy swoimi prawdziwymi wartościami.
Subdomena transakcyjna t.yourdomain.com:
; SPF (RFC 7208), autoryzuj hosty wysyłkowe Twojego dostawcy dla tej subdomeny
t.yourdomain.com. IN TXT "v=spf1 include:_spf.yourprovider.example -all"
; DKIM (RFC 6376), dostawca dostarcza selektor + klucz publiczny (CNAME lub TXT)
sel1._domainkey.t.yourdomain.com. IN CNAME sel1.dkim.yourprovider.example.
; DMARC (RFC 7489), publikowany na subdomenie; zacznij od none, potem zacieśniaj
_dmarc.t.yourdomain.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; adkim=s; aspf=s"
Subdomena marketingowa m.yourdomain.com:
m.yourdomain.com. IN TXT "v=spf1 include:_spf.yourprovider.example -all"
sel1._domainkey.m.yourdomain.com. IN CNAME sel1.dkim.yourprovider.example.
_dmarc.m.yourdomain.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; adkim=s; aspf=s"
Uwagi, które mają znaczenie:
adkim=s; aspf=sżądają ścisłego wyrównania, tak by domenaFrom:musiała dokładnie odpowiadać domenie DKIMd=/ SPF. Ścisłe wyrównanie jest tym, co czyni separację per subdomena egzekwowalną.- Każdy rekord DMARC zaczynaj od
p=nonez włączonym raportowaniemrua, czytaj raporty zbiorcze przez tydzień lub dwa, potwierdź, że zarówno SPF, jak i DKIM przechodzą i są wyrównane, a dopiero potem przejdź nap=quarantinei wreszciep=reject. Skok prosto dop=rejectprzed przeczytaniem raportów to klasyczny sposób na wrzucenie własnej poczty do spamu. - Polityka organizacyjna
_dmarc.yourdomain.comma zastosowanie do subdomen, chyba że opublikujesz rekordy specyficzne dla subdomen, takie jak powyższe. Publikowanie rekordów per subdomena pozwala zacieśniać domenę marketingową w jej własnym tempie, bez ryzyka dla dostarczania transakcyjnego.
Weryfikacja konfiguracji za pomocą dig
Zanim wyślesz choćby jedną wiadomość, potwierdź, że każdy rekord się rozwiązuje:
Polecenia do weryfikacji
# SPF na subdomenie transakcyjnej
dig +short TXT t.yourdomain.com
# klucz publiczny DKIM (podstaw swój prawdziwy selektor)
dig +short TXT sel1._domainkey.t.yourdomain.com
dig +short CNAME sel1._domainkey.t.yourdomain.com
# polityka DMARC dla subdomeny
dig +short TXT _dmarc.t.yourdomain.com
# Powtórz wszystkie trzy dla m.yourdomain.com
dig +short TXT m.yourdomain.com
dig +short TXT _dmarc.m.yourdomain.com
Jeśli zapytanie nic nie zwraca, rekord się nie spropagował albo nazwa jest błędna (częsty błąd to podwójne dopisanie domeny, np. opublikowanie t.yourdomain.com.yourdomain.com). Wyślij wiadomość testową na konto Gmail i Microsoft, otwórz „Pokaż oryginał” / nagłówki wiadomości i potwierdź SPF=PASS, DKIM=PASS oraz DMARC=PASS z oczekiwaną domeną d=, zanim ruszysz na produkcję.
Opcjonalne, ale zalecane: utwardzenie poza SPF/DKIM/DMARC
Gdy trzy podstawowe rekordy już przechodzą, te standardy utwardzają kanał i poprawiają sposób, w jaki niektórzy dostawcy traktują Twoją pocztę. Są niezależne od strumienia, stosuj je na domenie organizacyjnej:
- MTA-STS (RFC 8461) i TLS-RPT (RFC 8460): wymuszają TLS dla poczty przychodzącej do Twojej domeny i dostarczają raporty o awariach TLS. Istotne, jeśli na domenie również odbierasz pocztę.
- ARC (RFC 8617): Authenticated Received Chain zachowuje wyniki uwierzytelniania przez forwardery/listy mailingowe. Korzystasz głównie z tego, że odbiorcy go honorują, a nie z publikowania czegokolwiek samodzielnie, ale ma to znaczenie, gdy Twoja poczta transakcyjna jest automatycznie przekazywana dalej.
- BIMI: pozwala wyświetlać zweryfikowane logo marki w obsługujących to skrzynkach, ale wymaga najpierw DMARC
p=quarantinelubp=reject(a dla większości dostawców certyfikatu Verified Mark Certificate). Traktuj je jako nagrodę za poprawne wdrożenie egzekwowania DMARC, a nie punkt startowy.
Te tematy są szczegółowo omówione w Dostarczalności.
Na co zwracać uwagę przy wyborze usługi e‑mail?
Wybierz usługę, która:
- Zapewnia niezawodne dostarczanie maili transakcyjnych
- Oferuje oddzielne domeny wysyłkowe
- Ma dobre API do programowej wysyłki
- Zapewnia webhooki dla zdarzeń dostarczania
- Wspiera konfigurację uwierzytelniania (SPF, DKIM, DMARC)
- Pozwala izolować transakcyjne i marketingowe w osobne strumienie (i pule IP przy wolumenie)
- Utrzymuje listy supresji per strumień, tak by marketingowy wypis nigdy nie blokował paragonu
Dedykowani dostawcy poczty (np. Amazon SES, Postmark, SendGrid, Mailgun, Resend, Brevo, SparkPost czy Mandrill) są zaprojektowani do wysyłki o wysokiej dostarczalności i dostarczają infrastrukturę oraz narzędzia potrzebne do niezawodnego dostarczania. Większość oferuje też funkcje marketingowe dla drugiego strumienia. Żadna część tego poradnika nie zakłada konkretnego dostawcy, każdy przykład kodu używa generycznego wrappera provider/emailClient lub surowych standardów, więc wzorce przenoszą się na dowolnego z nich.
Jak wygląda czysta wysyłka transakcyjna w kodzie?
Wysyłka transakcyjna powinna być wyzwalana bezpośrednio działaniem użytkownika i nie zawierać treści promocyjnych. Identyfikatory poniżej celowo pozostają po angielsku, również w wersji polskiej.
Kod dla zespołu technicznego (TypeScript)
// emailClient to cienki, niezależny od dostawcy wrapper wokół dowolnego ESP, którego używasz
// (Amazon SES, Postmark, SendGrid, Mailgun, Resend, Brevo, …) skonfigurowany z EMAIL_API_KEY.
import { emailClient } from './lib/email';
// Wyzwalany natychmiast, gdy użytkownik prosi o reset hasła
export async function sendPasswordReset(email: string, resetUrl: string) {
await emailClient.send({
// Zwróć uwagę na dedykowaną subdomenę transakcyjną
from: 'Acme Security <security@t.yourdomain.com>',
to: email,
subject: 'Reset your password',
text: `We received a request to reset your password.\n\nReset it here (expires in 1 hour): ${resetUrl}\n\nIf you didn't request this, you can safely ignore this email.`,
// Brak nagłówka List-Unsubscribe, brak promocji, brak sprawdzania supresji marketingowej.
});
}
Jak wygląda zgodna wysyłka marketingowa w kodzie?
Odpowiednik marketingowy różni się trzema konkretnymi rzeczami: jest bramkowany zgodą, wychodzi z subdomeny marketingowej i niesie nagłówki wypisu jednym kliknięciem wg RFC 8058. Poniżej endpoint POST jednego kliknięcia jest zaimplementowany na surowym standardzie, bez żadnego SDK.
Kod dla zespołu technicznego (TypeScript)
import { emailClient } from './lib/email';
export async function sendNewsletter(email: string, body: string, unsubscribeUrl: string) {
// Bramka zgody: nigdy nie wysyłaj marketingu bez zarejestrowanego opt-in.
if (!(await hasMarketingConsent(email))) return;
await emailClient.send({
from: 'Acme <news@m.yourdomain.com>', // subdomena marketingowa
to: email,
subject: 'This month at Acme',
text: `${body}\n\nUnsubscribe: ${unsubscribeUrl}`,
headers: {
// RFC 8058: oba nagłówki muszą być obecne, by wypis jednym kliknięciem zadziałał.
'List-Unsubscribe': `<${unsubscribeUrl}>, <mailto:unsubscribe@m.yourdomain.com?subject=unsubscribe>`,
'List-Unsubscribe-Post': 'List-Unsubscribe=One-Click',
},
});
}
declare function hasMarketingConsent(email: string): Promise<boolean>;
Kod dla zespołu technicznego (TypeScript)
// Handler jednego kliknięcia wg RFC 8058, zwykły endpoint HTTP POST, bez żadnego SDK ESP.
// Dostawca skrzynki POST-uje tu bezpośrednio; nie ma ludzkiego kliknięcia ani strony
// potwierdzenia, więc wypis musi zadziałać na podstawie samego tego żądania.
import type { IncomingMessage, ServerResponse } from 'node:http';
export async function handleOneClickUnsubscribe(req: IncomingMessage, res: ServerResponse) {
// Dostawca wysyła application/x-www-form-urlencoded z
// List-Unsubscribe=One-Click. Token wypisu pochodzi z URL.
const url = new URL(req.url ?? '', 'https://m.yourdomain.com');
const token = url.searchParams.get('token');
if (req.method !== 'POST' || !token) {
res.writeHead(400).end();
return;
}
const subscriber = await resolveUnsubscribeToken(token); // nieprzezroczysty, podpisany, jednorazowego przeznaczenia
if (subscriber) {
await suppressMarketing(subscriber.email); // TYLKO zakres marketingowy, nigdy nie ruszaj transakcyjnego
}
// Zawsze 200 przy poprawnym żądaniu, nawet jeśli już wypisany (idempotentne).
res.writeHead(200).end();
}
declare function resolveUnsubscribeToken(token: string): Promise<{ email: string } | null>;
declare function suppressMarketing(email: string): Promise<void>;
Krytyczny szczegół to komentarz przy suppressMarketing: wypis zapisuje wyłącznie do marketingowego zakresu supresji. Użytkownik, który wypisuje się z newslettera, musi nadal otrzymywać paragony i resety haseł. Mieszanie tych dwóch zakresów to najczęstszy sposób, w jaki zespoły przypadkowo psują dostarczanie transakcyjne. Zobacz Zarządzanie listą, aby poznać model supresji, oraz Webhooki i zdarzenia, aby przetwarzać zdarzenia skarg i wypisów, które go zasilają.
Jak wygląda lista kontrolna wdrożenia?
- Maile transakcyjne i marketingowe działają na oddzielnych subdomenach
- SPF, DKIM i DMARC są skonfigurowane dla każdej domeny wysyłkowej (zacznij DMARC od
p=none, potem zacieśniaj) - DKIM
d=jest wyrównany do pasującej subdomeny; DMARC używa ścisłego wyrównania (adkim=s; aspf=s) - Wszystkie trzy rekordy zweryfikowane przez
digi prawdziwą wysyłkę testową przed startem - Maile transakcyjne nie zawierają żadnej treści promocyjnej
- Maile marketingowe zawsze zawierają link do wypisu, fizyczny adres oraz nagłówki jednego kliknięcia wg RFC 8058
- Endpoint POST wypisu jednym kliknięciem jest zaimplementowany i idempotentny
- Zgoda (z proweniencją: kiedy, gdzie, jakie sformułowanie) jest zapisywana przed jakąkolwiek wysyłką marketingową
- Zakres supresji marketingowej jest w pełni oddzielony od wysyłek transakcyjnych
- Wskaźnik skarg spamowych jest monitorowany per domena i utrzymywany poniżej 0,3% (cel poniżej 0,1%)
- Webhooki dostarczania, bounce i skarg są podłączone dla obu strumieni
- Żaden mail nie jest klasyfikowany jako transakcyjny tylko po to, by pominąć zgodę
Jakich najczęstszych błędów unikać?
- Wciskanie banera promocyjnego lub dosprzedaży do paragonu albo resetu hasła i nazywanie tego transakcyjnym.
- Wysyłanie obu strumieni z jednej domeny, przez co skok skarg marketingowych zatruwa Twoje paragony.
- Traktowanie maili o porzuconym koszyku i „tęsknimy za Tobą” jako transakcyjnych, by pominąć zgodę.
- Dopuszczenie, by wypis z marketingu zabił też transakcyjne maile użytkownika. Trzymaj zakresy preferencji osobno.
- Zakładanie, że amerykańska reguła opt‑out jest bezpieczna wszędzie. Nie jest, a nawet w USA szkodzi dostarczalności.
- Przekonanie, że przepuszczenie wiadomości przez „API transakcyjne” czyni ją transakcyjną. Klasyfikacja dotyczy treści i celu; filtry i regulatorzy czytają wiadomość, a nie Twoją ścieżkę kodu.
- Kupowanie dedykowanego IP przy niskim wolumenie i nieutrzymywanie go rozgrzanego, a potem zdziwienie, dlaczego spadła dostarczalność.
- Skakanie DMARC prosto do
p=rejectprzed przeczytaniem raportów zbiorczych, co wrzuca Twoją własną legalną pocztę do spamu. - Wysyłanie poczty marketingowej bez nagłówka
List-Unsubscribe-Post, przez co Gmail/Yahoo/Microsoft nie rozpoznają Twojego wypisu jednym kliknięciem i zaczynają zamiast tego liczyć kliknięcia „Zgłoś spam”. - Wysyłanie do kanadyjskiego audytorium na wygasłej zgodzie dorozumianej (okno istniejącej relacji biznesowej, które się przedawniło) bez ponownego zebrania zgody wyraźnej.
Co przeczytać dalej?
- Katalog maili transakcyjnych: jakich maili transakcyjnych potrzebuje każdy typ aplikacji, ze wskazówkami co do treści
- Dostarczalność: SPF/DKIM/DMARC, reputacja i dostarczanie poczty do skrzynki
- Zarządzanie listą: zakresy supresji, rejestry zgód i utrzymywanie preferencji marketingowych i transakcyjnych osobno
- Projektowanie maili transakcyjnych: dobre praktyki pisania i struktury maili transakcyjnych
- Pozyskiwanie adresów: zbieranie i rejestrowanie zgody przy rejestracji
- Maile marketingowe: dobre praktyki dotyczące zgody, treści i częstotliwości
- Zgodność prawna: szczegółowe wymogi prawne dla każdego typu maila
- Niezawodność wysyłki: pule IP, rozgrzewanie i mechanika reputacji
- Webhooki i zdarzenia: przetwarzanie zdarzeń dostarczania, bounce, skarg i wypisów
- Spis treści
