Logo GRVision - Strony i sklepy internetowe
Darmowa konsultacja 881 932 088 kontakt@grvision.pl

Maile ze sklepu wpadają do spamu - SPF, DKIM i DMARC

Publikacja: · Grzegorz Rapczyński

Klient płaci, nie dostaje potwierdzenia, dzwoni z pytaniem, czy zamówienie przeszło. Albo gorzej: prosi o reset hasła, mail nie dochodzi, klient rezygnuje. To nie jest usterka kosmetyczna - to wprost utracone zamówienia i obsługa klienta zżerana przez telefony, których nie powinno być. Poniżej opisuję, dlaczego e-maile transakcyjne ze sklepu lądują w spamie i co trzeba ustawić, żeby przestały.

Skąd sklep w ogóle wysyła maile

To pierwsze pytanie i w połowie przypadków od razu wyjaśnia problem. Sklep ma dwie drogi:

  • Funkcja poczty na serwerze (w PHP to mail()). Najprostsza, domyślna i najgorsza. List wychodzi bezpośrednio z serwera hostingu, często z adresu IP współdzielonego z setkami innych stron, bez uwierzytelnienia. Filtry antyspamowe traktują taką wiadomość podejrzliwie z definicji.
  • Serwer SMTP - Twoja skrzynka firmowa albo wyspecjalizowana usługa do wysyłki transakcyjnej. List wychodzi uwierzytelniony, z infrastruktury, która dba o swoją reputację.

Zalecenie jest proste: zawsze SMTP. Jeśli sklep wysyła kilkanaście maili dziennie, wystarczy skrzynka firmowa na tej samej domenie. Przy większym ruchu albo newsletterze warto rozdzielić: transakcyjne przez jedną usługę, marketingowe przez drugą, żeby jedna nieudana wysyłka do bazy nie zepsuła dostarczalności potwierdzeń zamówień.

Druga rzecz, którą widuję nagminnie: adres nadawcy z obcej domeny. Sklep na twojasklep.pl wysyła jako cos@gmail.com albo, jeszcze gorzej, podszywa się pod adres klienta w formularzu kontaktowym. Gmail i Outlook odrzucają albo oznaczają takie wiadomości, bo z ich punktu widzenia ktoś podszywa się pod cudzą domenę. Nadawca zawsze musi być na Twojej domenie.

SPF - kto ma prawo wysyłać w imieniu Twojej domeny

SPF to wpis w DNS domeny, w którym ogłaszasz światu listę serwerów uprawnionych do wysyłania poczty w Twoim imieniu. Serwer odbiorcy sprawdza, czy list przyszedł z któregoś z nich.

Wygląda mniej więcej tak:

v=spf1 include:_spf.dostawcapoczty.pl include:_spf.uslugawysylkowa.com ~all

Trzy błędy, które widzę najczęściej:

  • Dwa rekordy SPF na jednej domenie. Ktoś dodał drugi przy wdrażaniu nowej usługi, zamiast dopisać include do istniejącego. Domena z dwoma rekordami SPF nie przechodzi kontroli w ogóle - to nie jest „półśrodek”, to twarde niepowodzenie.
  • Brak serwera sklepu na liście. Poczta firmowa działa, bo jej dostawca jest w rekordzie, ale maile z samego sklepu wychodzą z innego miejsca, którego w rekordzie nie ma.
  • Przekroczony limit odwołań. SPF pozwala na maksymalnie dziesięć odwołań do innych rekordów. Sklep, poczta, newsletter, system faktur i narzędzie do kampanii potrafią ten limit wyczerpać, a po jego przekroczeniu cały rekord przestaje działać.

Na końcu rekordu jest ~all albo -all. Pierwsze znaczy „to podejrzane, ale przepuść”, drugie „odrzuć”. Na start ustawiam ~all, a na -all przechodzę dopiero wtedy, gdy mam pewność, że wszystkie systemy wysyłające w imieniu domeny są w rekordzie. Odwrotna kolejność kończy się zablokowaniem własnych faktur.

DKIM - podpis, którego nie da się podrobić

SPF mówi, skąd list przyszedł. DKIM potwierdza, że po drodze nikt go nie zmienił i że wysłał go ktoś, kto ma klucz prywatny Twojej domeny. Serwer nadawcy podpisuje każdą wiadomość, a klucz publiczny leży w DNS, żeby odbiorca mógł podpis zweryfikować.

W praktyce: klucz generuje dostawca poczty albo usługa wysyłkowa i daje Ci gotowy wpis do dodania w DNS. Nie trzeba niczego wymyślać, trzeba to po prostu zrobić - a bardzo często nie jest zrobione, bo etap „dodaj ten wpis u operatora domeny” ktoś pominął.

Jeśli sklep wysyła z kilku miejsc, każde z nich potrzebuje własnego podpisu, umieszczonego pod innym selektorem. To normalne i nie koliduje ze sobą, inaczej niż przy SPF.

DMARC - co zrobić z listem, który nie przeszedł kontroli

DMARC spina SPF i DKIM w jedną politykę: mówi serwerom odbiorców, co mają zrobić z wiadomością, która nie przeszła weryfikacji, i gdzie wysyłać raporty.

v=DMARC1; p=none; rua=mailto:raporty@twojadomena.pl

Polityka ma trzy poziomy: none (nic nie rób, tylko raportuj), quarantine (wrzuć do spamu) i reject (odrzuć). Zawsze zaczynam od none i przez kilka tygodni czytam raporty. Pokazują, kto naprawdę wysyła w imieniu domeny - i regularnie okazuje się, że jest tam system do faktur albo narzędzie marketingowe, o którym nikt nie pamiętał. Dopiero gdy wszystko jest uwzględnione, podnoszę politykę.

Od kilku lat duzi dostawcy skrzynek wymagają uwierzytelnienia od każdego, kto wysyła większe ilości poczty. Domena bez SPF, DKIM i DMARC nie jest już „trochę gorzej traktowana” - bywa po prostu odrzucana.

Treść maila też decyduje

Konfiguracja to warunek konieczny, nie wystarczający. Nawet poprawnie uwierzytelniona wiadomość potrafi wylądować w spamie, jeśli sama w sobie wygląda podejrzanie:

  • Sam obrazek zamiast treści. Mail zbudowany z jednej wielkiej grafiki, bez tekstu, to klasyczny wzorzec spamu.
  • Brak wersji tekstowej. Porządna wiadomość ma wariant HTML i czysto tekstowy. Sam HTML obniża ocenę.
  • Skracacze linków. W transakcyjnym mailu nie mają czego szukać. Linkuj bezpośrednio do swojej domeny.
  • Krzykliwy temat. Wielkie litery, wykrzykniki i słowo „GRATIS” w potwierdzeniu zamówienia nie pomagają.
  • Brak możliwości wypisania się w wiadomościach marketingowych. W transakcyjnych nie jest wymagane, w marketingowych to obowiązek.
  • Adres, który nie przyjmuje odpowiedzi. Skrzynka typu „nie odpowiadaj” obniża ocenę i utrudnia życie klientom. Lepszy zwykły adres kontaktowy.

Jak sprawdzić, czy jest dobrze

  1. Wyślij testową wiadomość z samego sklepu - nie z panelu poczty, tylko realnie: złóż zamówienie testowe i zresetuj hasło. To dwie różne ścieżki i potrafią chodzić przez różne kanały.
  2. Obejrzyj nagłówki wiadomości. W Gmailu opcja pokazania oryginału. Szukasz trzech linii z wynikami: SPF, DKIM i DMARC. Każda powinna kończyć się wynikiem pozytywnym. To najszybszy sposób, żeby dowiedzieć się, który z trzech mechanizmów nie działa.
  3. Użyj serwisu sprawdzającego dostarczalność. Wysyłasz wiadomość na wygenerowany adres i dostajesz ocenę razem z listą problemów.
  4. Podepnij narzędzia dla nadawców udostępniane przez dużych dostawców skrzynek. Pokazują odsetek wiadomości uwierzytelnionych i zgłoszenia spamu z Twojej domeny.
  5. Sprawdź, czy domena albo adres IP serwera nie trafiły na listy blokujące. Zdarza się po włamaniu na inną stronę na tym samym serwerze.

Konfiguracja w PrestaShop

W panelu PrestaShop ustawienia poczty są w sekcji ustawień zaawansowanych. Domyślnie sklep korzysta z funkcji systemowej - to trzeba zmienić na SMTP i podać dane serwera: adres, port, nazwę użytkownika, hasło i rodzaj szyfrowania. Na końcu formularza jest pole do wysłania wiadomości testowej i warto z niego skorzystać od razu.

Poza tym:

  • Ustaw adres nadawcy na własnej domenie i taki, który realnie istnieje.
  • Sprawdź, czy formularz kontaktowy nie wysyła jako klient. Powinien wysyłać z Twojego adresu i mieć adres klienta w polu odpowiedzi, nie w polu nadawcy.
  • Przejrzyj szablony wiadomości. Domyślne są poprawne, ale przerabiane w locie potrafią stracić wersję tekstową.
  • Nie wysyłaj newslettera tym samym kanałem co potwierdzeń. Jedna wysyłka do starej bazy potrafi popsuć dostarczalność wszystkiego innego.

Przy większym ruchu warto podłączyć wyspecjalizowaną usługę do wysyłki transakcyjnej. Dostajesz wtedy statystyki doręczeń, powtórne próby i gotowe wpisy DKIM.

Zanim uznasz, że wina leży po stronie dostarczania, sprawdź, czy sklep w ogóle próbował wysłać. Rozróżnienie zajmuje dwie minuty i opisałem je w tekście o tym, co zrobić, gdy klient nie dostaje potwierdzenia zamówienia.

Ściąga: objaw i najczęstsza przyczyna

Objaw Najczęstsza przyczyna Co zrobić
Wszystkie maile ze sklepu w spamie Wysyłka funkcją systemową bez uwierzytelnienia Przełączyć sklep na SMTP
Poczta firmowa dochodzi, sklepowa nie Serwer sklepu nieuwzględniony w rekordzie SPF Dopisać go do istniejącego rekordu
Maile nie dochodzą tylko na jednego dostawcę skrzynek Brak DKIM albo reputacja adresu IP Dodać podpis DKIM, sprawdzić listy blokujące
Było dobrze, nagle przestało Zmiana hostingu, dostawcy poczty albo drugi rekord SPF Przejrzeć DNS i nagłówki ostatniej wiadomości
Formularz kontaktowy nie działa Wysyłka z adresu klienta jako nadawcy Nadawca własny, klient w polu odpowiedzi
Potwierdzenia docierają, newsletter nie Zgłoszenia spamu z wysyłki marketingowej Rozdzielić kanały, uporządkować bazę

Gdy maile już dochodzą, zostaje druga połowa tematu: ich treść i wygląd. Domyślne szablony maili transakcyjnych są poprawne i bezosobowe, a potwierdzenie zamówienia to najczęściej otwierana wiadomość, jaką wysyła sklep.

Najczęstsze pytania

Czy sam SPF wystarczy?

Dziś nie. SPF bez DKIM przechodzi u mniejszych dostawców, ale przy dużych skrzynkach brak podpisu jest wyraźnym minusem, a bez DMARC nie dowiesz się, że coś nie działa, dopóki klient nie zadzwoni.

Po jakim czasie zmiany w DNS zaczynają działać?

Zwykle od kilkunastu minut do kilku godzin, zależnie od czasu życia wpisów. Warto odczekać dobę przed ponownym testem, żeby nie sprawdzać starych danych.

Czy mogę wysyłać maile ze sklepu przez zwykłą skrzynkę firmową?

Tak, przy małym ruchu to sensowne rozwiązanie. Uwaga na limity wysyłki u dostawcy - przekroczenie potrafi zablokować skrzynkę na resztę doby, razem z Twoją zwykłą pocztą.

Mam poprawny SPF, DKIM i DMARC, a maile nadal trafiają do spamu. Dlaczego?

Wtedy problemem jest zwykle reputacja albo treść. Sprawdź, czy domena nie trafiła na listy blokujące, czy wiadomość ma wersję tekstową i czy nie jest jednym wielkim obrazkiem. Świeża domena też ma niską reputację i potrzebuje kilku tygodni normalnej wysyłki.

Czy to samo dotyczy maili z formularza kontaktowego na stronie?

Tak, mechanizm jest identyczny. Najczęstszy błąd na stronach firmowych to wysyłanie wiadomości z adresu osoby, która wypełniła formularz - z punktu widzenia filtrów to podszywanie się pod cudzą domenę.

Sprawdzę to w Twoim sklepie

Jeśli maile z Twojego sklepu wpadają do spamu albo nie dochodzą w ogóle, napisz. Sprawdzę wpisy DNS, sposób wysyłki i nagłówki wiadomości, a potem powiem, co konkretnie trzeba poprawić - formularz kontaktowy, 881 932 088 lub kontakt@grvision.pl. Stała konfiguracja i pilnowanie takich rzeczy wchodzi też w opiekę nad sklepem.