Przejdź do treści

NEWSLETTERRaz w miesiącu konkrety z wdrożeń w firmach usługowych, zero spamu. Zapisz się i odbierz checklistę →

Maile z formularza trafiają do spamu: SPF, DKIM i DMARC po kolei

Formularz wysyła maile w imieniu Twojej domeny. Sprawdź nagłówki w 10 minut i ustaw SPF, DKIM i DMARC tak, żeby wiadomości trafiały do skrzynki.

Filip Kostecki

Opublikowano

Maile z formularza trafiają do spamu zwykle dlatego, że wysyła je serwer, którego Twoja domena nie upoważniła, albo wiadomość nie ma podpisu Twojej domeny. Naprawa to 3 wpisy w DNS: SPF dla każdego nadawcy, DKIM u dostawcy wysyłki i DMARC, który najpierw tylko zbiera raporty. Sam formularz rzadko jest problemem: zwykle chodzi o to, jak wiadomość jest wysyłana i uwierzytelniana (pomoc Google Workspace).

Dlaczego mail z formularza ląduje w spamie?

Formularz na stronie wysyła wiadomość „od” adresu z Twojej domeny, na przykład biuro@example.com, ale nie robi tego Twoja skrzynka. Wysyła ją serwer hostingu, wtyczka albo osobna usługa wysyłki. Dla odbiorcy to inny serwer podpisany Twoim adresem, a taki sam schemat stosują oszuści. Odbiorca pyta więc DNS Twojej domeny, czy ten serwer ma prawo wysyłać w jej imieniu. Jeśli odpowiedzi nie ma albo jest negatywna, wiadomość trafia do spamu albo zostaje odrzucona.

Formularz, który wysyła maile automatycznie, jest nadawcą Twojej domeny i musi być wpisany do jej rekordów, tak samo jak skrzynka pocztowa. Strona pokazuje „wiadomość wysłana”, bo Twój serwer przekazał ją dalej. Kłopot widać dopiero u odbiorcy.

Drugi częsty powód to pole Od. Jeśli formularz wpisuje tam adres odwiedzającego, na przykład jego adres w Gmailu, wiadomość wygląda jak podszycie. Gmail nazywa to podszywaniem się, gdy mail z adresem @gmail.com w polu Od nie wyszedł z serwerów Gmaila. Ustaw w polu Od adres swojej domeny, a adres odwiedzającego wpisz w Reply-To, żeby odpowiedź trafiała do niego.

Schemat: formularz na stronie wysyła mail, serwer odbiorcy sprawdza po kolei SPF, DKIM i DMARC, a gdy DMARC nie przejdzie, stosuje politykę none, quarantine albo reject
Trzy kontrole, które serwer odbiorcy robi przy każdym mailu z formularza.

Jak sprawdzić w 10 minut, co jest nie tak?

  1. Wyślij testową wiadomość z formularza na własny adres Gmail.
  2. Otwórz ją i wybierz „Pokaż oryginał” (w Outlooku: podgląd nagłówków wiadomości).
  3. Na górze znajdź wyniki SPF, DKIM i DMARC. W nagłówku Authentication-Results przy każdym z nich stoi pass albo fail.
  4. Dla porównania wyślij testowego maila na adres z narzędzia CERT Polska. Sprawdza ono SPF, DKIM, DMARC i certyfikat SSL. Samo podanie domeny nie wystarczy, bo bez wysłanej wiadomości narzędzie nie zobaczy DKIM.

Wynik czytasz tak:

Co widzisz Co to znaczy
spf=fail lub softfail Serwer wysyłający nie jest wpisany w SPF Twojej domeny
spf=pass, ale dmarc=fail SPF przeszedł dla domeny dostawcy, a nie dla Twojej, i brakuje podpisu DKIM Twojej domeny
dkim=pass, ale domena podpisu to domena dostawcy Podpis jest poprawny, lecz nie pasuje do Twojego adresu w polu Od
dmarc=none lub brak wyniku Domena nie ma rekordu DMARC

Jeśli wszystkie trzy wyniki to pass, a mail i tak ląduje w spamie, problem leży gdzie indziej. Wróć do sekcji o dostarczalności niżej.

Nagłówki pokazują fail, a nie wiesz, który wpis poprawić? Opisz nam w formularzu, co pokazują nagłówki, a odpowiemy, od czego zacząć.

Sprawdźmy Twoją pocztę

Krok 1: SPF dla każdego nadawcy

SPF to wpis TXT w DNS z listą serwerów, które mogą wysyłać pocztę z Twojej domeny. Zacznij od spisu nadawców: skrzynki pocztowe (Microsoft 365 albo Google Workspace), serwer strony z formularzem, narzędzie do wysyłki do zapisanych osób, program do faktur, sklep. Każdy z nich musi trafić do SPF, najczęściej przez wpis include od dostawcy. Przykład dla domeny z Microsoft 365 i jednym dodatkowym nadawcą:

v=spf1 include:spf.protection.outlook.com include:spf.wysylka.example -all

Przy SPF pilnuj 3 rzeczy:

  • Jeden rekord SPF na domenę. Dwa rekordy dają błąd permerror i odbiorca przestaje uznawać SPF (RFC 7208). Dopisuj kolejne include do istniejącego rekordu.
  • Najwyżej 10 zapytań DNS. Liczą się include, a, mx, ptr, exists i redirect, a zagnieżdżone include dokładają swoje własne (Microsoft). Po przekroczeniu SPF jest uznawany za błędny.
  • Końcówka -all dopiero po spisie wszystkich nadawców. Pominięty nadawca zacznie wtedy odbijać.

SPF sprawdza techniczny adres nadawcy zapisany w kopercie wiadomości, a nie pole Od, które widzisz w programie pocztowym. Dlatego SPF może przejść przy fałszywym polu Od i sam nie wystarcza (CERT Polska).

Krok 2: DKIM u dostawcy wysyłki

DKIM to podpis dodawany do każdej wiadomości. Klucz publiczny leży w DNS pod nazwą selektor._domainkey.example.com, a odbiorca sprawdza nim, czy wiadomość nie została zmieniona i czy podpisała ją Twoja domena. Rekordy podaje dostawca wysyłki (u wielu to wpisy CNAME albo TXT). Skopiuj je do DNS dokładnie tak, jak je dostałeś, bez zmiany nawet jednego znaku.

Ten krok łatwo pominąć przy zewnętrznych usługach. Bez DKIM Twojej domeny usługa podpisuje wiadomości swoją własną domeną. SPF przechodzi dla domeny dostawcy, a DMARC nie przechodzi, bo żadna z tych domen nie pasuje do Twojego adresu w polu Od (Microsoft). Jeśli formularz wysyła przez API dostawcy albo przez SMTP Twojej skrzynki, DKIM masz po stronie tej skrzynki albo tego dostawcy: skonfiguruj go tam, a nie na stronie.

Google wymaga od dużych nadawców klucza DKIM o długości co najmniej 1024 bitów i radzi ustawić SPF i DKIM co najmniej 48 godzin przed DMARC (Google).

Krok 3: DMARC najpierw z raportami

DMARC łączy wyniki SPF i DKIM z polem Od i mówi odbiorcy, co zrobić z wiadomością, która nie przeszła kontroli. Przechodzi wtedy, gdy SPF albo DKIM przeszedł i zgadza się z domeną z pola Od. Rekord to wpis TXT pod nazwą _dmarc.example.com (Google):

v=DMARC1; p=none; rua=mailto:dmarc@example.com

Polityka p ma 3 wartości: none (nic nie rób, tylko raportuj), quarantine (do spamu) i reject (odrzuć). Zacznij od none. Odbiorcy zaczną wtedy wysyłać na adres z rua raporty zbiorcze, zwykle raz dziennie, jako załącznik XML z listą źródeł wysyłki i wynikami SPF i DKIM. Kieruj je na skrzynkę wspólną albo grupę, nie na skrzynkę pracownika (Microsoft). Czyta się je narzędziem, a nie ręcznie. Są bezpłatne opcje, na przykład tygodniowe podsumowanie od Postmarka.

W raportach szukasz źródeł, które nie przechodzą: nadawcy, o którym zapomniałeś, albo usługi bez DKIM Twojej domeny. Poprawiasz je jeden po drugim. Quarantine ustawiasz, gdy raporty pokazują, że wszystkie Twoje wysyłki przechodzą. Nagłe quarantine albo reject może zatrzymać ważny proces, na przykład wysyłkę do zapisanych osób u zewnętrznego dostawcy (CERT Polska).

Aktualnym standardem DMARC jest od maja 2026 RFC 9989. Usunął on tag pct, który nadal pojawia się w starszych poradnikach. Nazwa rekordu i zapis v=DMARC1 się nie zmieniły.

Ile to trwa?

Wpisy SPF i DKIM zrobisz w jeden dzień, jeśli masz dostęp do DNS. Jeśli go nie masz, zacznij od odzyskania dostępu do domeny. Potem jest przerwa co najmniej 48 godzin przed DMARC, a po wpisaniu p=none czas na zebranie raportów. Google uznaje za zwykle wystarczający tydzień. RFC 9989 mówi, że przy rzadkiej wysyłce dojście do pełnego egzekwowania może zająć wiele miesięcy.

Czy dostarczalność to tylko DNS?

Nie. Poprawne SPF, DKIM i DMARC to warunek konieczny, ale nie jedyny. Gmail wymaga od wszystkich nadawców SPF albo DKIM i utrzymania odsetka zgłoszeń spamu poniżej 0,3%, a od 5 000 wiadomości dziennie także DMARC. Dostawca wysyłki ma własne progi: przy zbyt wielu odbitych mailach, czyli wysłanych na adresy, które nie istnieją, może wstrzymać konto. U naszego dostawcy próg to 4%.

Dlatego przy zapisie do wysyłki sprawdzaj, czy domena adresu przyjmuje pocztę. Adres z literówką w domenie nie dopisze wtedy odbicia do statystyk konta.

Pytania i odpowiedzi

Czy sam SPF wystarczy, żeby maile nie trafiały do spamu?

Nie. SPF sprawdza techniczny adres nadawcy, a nie pole Od, które widzi odbiorca, więc może przejść przy fałszywym nadawcy. Żeby DMARC przeszedł, potrzebujesz SPF albo DKIM zgodnego z domeną z pola Od. Najpewniej ustaw oba.

Czy mała firma musi mieć DMARC?

Gmail wymaga SPF albo DKIM od każdego nadawcy, a DMARC dopiero od 5 000 wiadomości dziennie do kont Gmail. Mała firma jest poniżej tego progu, ale bez polityki DMARC wiadomości mogą trafić do spamu, więc rekord z p=none ustaw zawsze.

Od jakiej polityki DMARC zacząć?

Od p=none z adresem raportów w rua. Taka polityka niczego nie blokuje, a pokazuje, kto wysyła pocztę z Twojej domeny. Quarantine i reject ustawiasz dopiero, gdy raporty potwierdzą, że wszystkie Twoje wysyłki przechodzą kontrolę.

Jak sprawdzić, czy DKIM działa?

Wyślij testową wiadomość z formularza na własny adres Gmail i otwórz „Pokaż oryginał”. Przy dkim szukaj pass i domeny podpisu. Pełny test robi też narzędzie CERT Polska: wysyłasz mu testowego maila.

Pojęcia z tego artykułu

Filip Kostecki

Założyciel FKDRIVE. Projektuje, buduje i utrzymuje systemy webowe, automatyzacje i strony.

CZYTAJ DALEJ

Powiązane artykuły.

Porozmawiajmy o Twoim projekcie.

Trzydzieści minut online o jednym albo dwóch procesach, które zjadają najwięcej czasu. Jeśli wolisz napisać, formularz kontaktowy jest równie dobrą drogą.

Umów 30 minut

NEWSLETTER

Raz w miesiącu konkrety z wdrożeń, zero spamu

Piszemy o tym, co realnie wychodzi z wdrożeń w firmach usługowych: co zjada godziny, co daje się przestawić bez wymiany całego systemu i ile to zwykle kosztuje. Bez sprzedawania w każdej wiadomości. Na start dostajesz checklistę 15 sygnałów.

Wypisujesz się w każdej chwili. Bez zobowiązań.

COOKIES

Bez ciasteczek pracujemy po ciemku

Nie wiemy wtedy, które fragmenty tej strony komuś pomagają, a które są do wyrzucenia. Zgoda włącza statystyki odwiedzin, nagrania sesji z automatycznie maskowaną treścią formularzy oraz pomiar skuteczności reklam. Danymi nie handlujemy i nie sprzedajemy ich nikomu.

Decyzję zmienisz w każdej chwili linkiem „Ustawienia cookies” w stopce. Co dokładnie zbieramy →