{"id":90066,"date":"2026-10-05T08:05:00","date_gmt":"2026-10-05T06:05:00","guid":{"rendered":"https:\/\/codescriptum.pl\/blog\/formularz-kontaktowy-nie-wysyla-wiadomosci\/"},"modified":"2026-10-05T08:05:00","modified_gmt":"2026-10-05T06:05:00","slug":"formularz-kontaktowy-nie-wysyla-wiadomosci","status":"publish","type":"post","link":"https:\/\/codescriptum.pl\/blog\/formularz-kontaktowy-nie-wysyla-wiadomosci\/","title":{"rendered":"Formularz kontaktowy nie wysy\u0142a wiadomo\u015bci - przyczyny i jak to naprawi\u0107"},"content":{"rendered":"<h2>Jak to wygl\u0105da<\/h2>\n<p>Klient wype\u0142nia formularz na stronie, klika \u201eWy\u015blij\u201d i widzi komunikat \u201eDzi\u0119kujemy, wiadomo\u015b\u0107 zosta\u0142a wys\u0142ana\u201d. Do Twojej skrzynki nic jednak nie dociera. Czasem wiadomo\u015bci przychodz\u0105 tylko od czasu do czasu, l\u0105duj\u0105 w spamie albo docieraj\u0105 z du\u017cym op\u00f3\u017anieniem. Problem potrafi trwa\u0107 tygodniami, bo z perspektywy klienta wszystko dzia\u0142a, a firma po prostu przestaje dostawa\u0107 zapytania.<\/p>\n<ul>\n<li>formularz pokazuje sukces, a skrzynka jest pusta,<\/li>\n<li>wiadomo\u015bci trafiaj\u0105 do folderu spam albo do zak\u0142adki z ofertami,<\/li>\n<li>po klikni\u0119ciu \u201eWy\u015blij\u201d formularz kr\u0119ci si\u0119 bez ko\u0144ca albo pokazuje b\u0142\u0105d,<\/li>\n<li>klient nie dostaje automatycznego potwierdzenia.<\/li>\n<\/ul>\n<h2>Dlaczego tak si\u0119 dzieje<\/h2>\n<p>Formularz na stronie WordPress nie wysy\u0142a maili sam. Przekazuje je funkcji <code>wp_mail<\/code>, kt\u00f3ra domy\u015blnie korzysta z funkcji <code>mail()<\/code> serwera. Taka wiadomo\u015b\u0107 nie jest uwierzytelniona: serwer hostingu wysy\u0142a j\u0105 w imieniu Twojej domeny, cho\u0107 domena go do tego nie upowa\u017cni\u0142a. Serwery pocztowe traktuj\u0105 takie maile jako podejrzane.<\/p>\n<h3>Brak SMTP i uwierzytelnienia domeny<\/h3>\n<p>Rekordy SPF, DKIM i DMARC w DNS domeny m\u00f3wi\u0105 serwerom pocztowym, kto mo\u017ce wysy\u0142a\u0107 maile w jej imieniu i co zrobi\u0107 z wiadomo\u015bciami, kt\u00f3re nie przejd\u0105 weryfikacji. Je\u015bli ich nie ma albo nie obejmuj\u0105 serwera strony, wiadomo\u015bci z formularza s\u0105 odrzucane lub trafiaj\u0105 do spamu. To najcz\u0119stsza przyczyna problemu.<\/p>\n<h3>B\u0142\u0119dny nadawca albo odbiorca<\/h3>\n<p>Wiele formularzy ustawia jako nadawc\u0119 adres wpisany przez klienta, np. w domenie gmail.com. Serwer strony nie mo\u017ce wysy\u0142a\u0107 maili w imieniu cudzej domeny, wi\u0119c taka wiadomo\u015b\u0107 nie przechodzi weryfikacji. Prawid\u0142owo nadawc\u0105 jest adres z Twojej domeny, a adres klienta trafia do pola \u201eOdpowiedz do\u201d. Zdarza si\u0119 te\u017c liter\u00f3wka w adresie odbiorcy albo adres by\u0142ego pracownika.<\/p>\n<h3>Skrypty, cache i ochrona przed spamem<\/h3>\n<p>Optymalizacja JavaScriptu, cache strony z nieaktualnym tokenem bezpiecze\u0144stwa albo \u017ale skonfigurowana captcha potrafi\u0105 zablokowa\u0107 wysy\u0142k\u0119. Hosting mo\u017ce te\u017c ogranicza\u0107 liczb\u0119 maili wysy\u0142anych funkcj\u0105 <code>mail()<\/code> albo ca\u0142kiem j\u0105 wy\u0142\u0105czy\u0107. Problem cz\u0119sto pojawia si\u0119 po przeniesieniu strony na nowy serwer albo zmianie dostawcy poczty, gdy stare ustawienia przestaj\u0105 pasowa\u0107 do nowej konfiguracji.<\/p>\n<table>\n<thead>\n<tr>\n<th>Objaw<\/th>\n<th>Najcz\u0119stsza przyczyna<\/th>\n<th>Gdzie sprawdzi\u0107<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Sukces, ale brak maila<\/td>\n<td>Brak SMTP, SPF lub DKIM<\/td>\n<td>DNS domeny, ustawienia wtyczki SMTP<\/td>\n<\/tr>\n<tr>\n<td>Maile w spamie<\/td>\n<td>Brak DMARC, nadawca z obcej domeny<\/td>\n<td>Nag\u0142\u00f3wki wiadomo\u015bci, ustawienia formularza<\/td>\n<\/tr>\n<tr>\n<td>B\u0142\u0105d lub kr\u0119c\u0105ce si\u0119 k\u00f3\u0142ko<\/td>\n<td>Konflikt skrypt\u00f3w, cache, captcha<\/td>\n<td>Konsola przegl\u0105darki, optymalizacja JS<\/td>\n<\/tr>\n<tr>\n<td>Maile przychodz\u0105 tylko czasem<\/td>\n<td>Limity wysy\u0142ki na hostingu<\/td>\n<td>Logi poczty u hostingu<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"csb-note csb-note--tip\">\n<p>Zapisuj zg\u0142oszenia z formularza tak\u017ce w bazie danych strony. Wi\u0119kszo\u015b\u0107 wtyczek formularzy ma tak\u0105 opcj\u0119 albo dodatek. Nawet gdy mail nie dotrze, \u017cadne zapytanie nie przepadnie. Uwzgl\u0119dnij to w polityce prywatno\u015bci i ustal, jak d\u0142ugo przechowujesz zg\u0142oszenia.<\/p>\n<\/div>\n<p>Ten problem jest jednym z naszej listy <a href=\"\/blog\/100-problemow-ze-strona-internetowa\/\">100 problem\u00f3w ze stron\u0105 internetow\u0105 firmy<\/a>, w kt\u00f3rej opisujemy te\u017c spam w formularzach i maile z domeny trafiaj\u0105ce do spamu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jak to wygl\u0105da Klient wype\u0142nia formularz na stronie, klika \u201eWy\u015blij\u201d i widzi komunikat \u201eDzi\u0119kujemy, wiadomo\u015b\u0107 zosta\u0142a wys\u0142ana\u201d. Do Twojej skrzynki nic jednak nie dociera. Czasem wiadomo\u015bci przychodz\u0105 tylko od czasu\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31],"tags":[],"class_list":["post-90066","post","type-post","status-publish","format-standard","hentry","category-strony-internetowe"],"_links":{"self":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/comments?post=90066"}],"version-history":[{"count":0,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/posts\/90066\/revisions"}],"wp:attachment":[{"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/media?parent=90066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/categories?post=90066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codescriptum.pl\/blog\/wp-json\/wp\/v2\/tags?post=90066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}