4 lipca 2026 · 9 min czytania

Formularz kontaktowy nie działa - Contact Form 7 i inne wtyczki (naprawa z AI)

Formularz kontaktowy to najprostszy element strony do momentu, w którym przestaje dostarczać wiadomości. A robi to po cichu: odwiedzająca widzi "wiadomość wysłana", Ty nie widzisz…

Formularz kontaktowy to najprostszy element strony do momentu, w którym przestaje dostarczać wiadomości. A robi to po cichu: odwiedzająca widzi "wiadomość wysłana", Ty nie widzisz nic, i dopiero po tygodniach ktoś wspomina, że "pisał przez formularz". W tym artykule rozłożę problem na części na przykładzie Contact Form 7, choć zasady dotyczą każdej wtyczki formularzy, bo sedno prawie nigdy nie leży w formularzu. Leży w tym, jak Twój WordPress wysyła maile.

Najważniejszy test: czy Twój WordPress w ogóle wysyła maile?

Zanim zaczniesz grzebać w formularzu, wykonaj test, który ustawia całą diagnozę: sprawdź, czy jakiekolwiek maile z Twojej strony docierają. Najprościej: wyloguj się i użyj opcji "Nie pamiętasz hasła?" na stronie logowania. Mail z resetem hasła to wiadomość systemowa WordPressa, niezależna od wtyczek formularzy.

  • Mail z resetem dotarł: WordPress wysyła poprawnie, więc problem leży w konfiguracji formularza. Przejdź do sekcji o polach Nadawca i Odbiorca.
  • Mail z resetem nie dotarł: formularz jest niewinny, a problem leży w wysyłce maili z serwera. Przejdź do sekcji o SMTP. To dokładnie ten przypadek z mojego forum, w którym kursantka tygodniami poprawiała formularz, a ostatecznie sprawę rozwiązała konfiguracja poczty z pomocą hostingu.

Ten jeden test oszczędza dni błądzenia, bo rozdziela dwa zupełnie różne problemy udające jeden.

Problem w formularzu: pola Nadawca i Odbiorca

Jeśli maile systemowe działają, sprawdź konfigurację wysyłki w formularzu (w Contact Form 7: zakładka Mail w edycji formularza).

Zasada numer 1: Nadawca (From) musi być adresem w domenie Twojej strony. Jeśli strona działa pod twojadomena.pl, a w polu Nadawca wpisany jest adres z Gmaila albo z innej Twojej domeny, serwery pocztowe odrzucają taką wiadomość jako podszywanie się. Brzmi znajomo? To ten sam mechanizm uwierzytelniania nadawcy (SPF i DKIM), który opisywałam przy migracji MailerLite: nikt nie może wysyłać maili "w imieniu" domeny bez jej upoważnienia, nawet Twój własny formularz. W polu Nadawca ustaw adres w domenie witryny (np. [email protected] lub shortcode [_site_admin_email]), a prawdziwy adres piszącej osoby umieść w polu Reply-To, żeby odpowiadać jednym kliknięciem.

Pole Odbiorca (To): tu możesz wpisać dowolny adres, na który chcesz dostawać wiadomości, także spoza domeny. Sprawdzony wariant to shortcode [_site_admin_email], pobierający aktualny adres administratora, dzięki czemu zmiana adresu w jednym miejscu (Użytkownicy → Twoje konto) obejmuje wszystkie formularze.

Folder spam: sprawdzaj go w każdym teście. Wiadomości z formularzy to częsty pensjonariusz spamu, zwłaszcza przed wdrożeniem SMTP.

Problem w wysyłce: SMTP, czyli poczta jak należy

WordPress domyślnie wysyła maile prymitywną metodą serwerową, bez uwierzytelnienia, i skrzynki odbiorcze coraz częściej traktują takie wiadomości jako podejrzane albo wcale ich nie przyjmują. Rozwiązanie docelowe, które polecam każdej stronie z formularzem, to wysyłka przez SMTP, czyli przez prawdziwą, uwierzytelnioną skrzynkę pocztową:

  1. Załóż skrzynkę w domenie strony (np. [email protected]) w panelu hostingu.
  2. Zainstaluj wtyczkę SMTP, np. WP Mail SMTP.
  3. W konfiguracji wtyczki podaj dane skrzynki: serwer SMTP hostingu, port, login i hasło (dane znajdziesz w panelu hostingu przy skrzynce).
  4. Użyj wbudowanego w wtyczkę testu wysyłki i sprawdź dostarczenie.

Od tej chwili wszystkie maile z WordPressa (formularze, powiadomienia sklepu, resety haseł) wychodzą jak zwykła poczta z uwierzytelnionej skrzynki, z pełnym błogosławieństwem SPF i DKIM. Jeśli sprzedajesz przez WooCommerce, ta zmiana jest podwójnie ważna: maile z zamówieniami muszą docierać, bo od nich zależy dostęp klientek do produktów.

A gdy mimo SMTP maile nie wychodzą, pora na support hostingu: napisz, że maile z WordPressa nie są dostarczane, podaj wynik testu SMTP i poproś o sprawdzenie konfiguracji poczty oraz ewentualnych blokad. Tak właśnie zakończyła się historia z forum: hosting poprawił konfigurację i wszystko ruszyło.

Spam z formularza: quiz zamiast męczącej captchy

Działający formularz szybko odkrywa ciemną stronę sukcesu: boty. Zanim sięgniesz po captchę z rozmazanymi przejściami dla pieszych, wypróbuj rozwiązanie wbudowane w Contact Form 7, które polecam za skuteczność i prostotę: pole quizu. W edycji formularza dodajesz pole Quiz z pytaniem, na które człowiek odpowie bez zastanowienia:

[quiz quiz-1 "Ile to dwa plus dwa?|4"]

Format jest prosty: pytanie, pionowa kreska, poprawna odpowiedź. Możesz podać kilka par pytanie-odpowiedź, a formularz wylosuje jedną. Proste działanie arytmetyczne albo pytanie w stylu "Jaka jest stolica Polski?" zatrzymuje zdecydowaną większość automatów, a żywej osobie zajmuje dwie sekundy i nie irytuje jak zewnętrzne captche. Uzupełnieniem niech będzie checkbox zgody na przetwarzanie danych (pole acceptance w Contact Form 7), o którym łatwo zapomnieć, a który w formularzu kontaktowym po prostu wypada mieć.

Debugowanie formularza z AI: od objawu do działającej wysyłki

Problemy z pocztą mają to do siebie, że objaw ("mail nie dochodzi") jest jeden, a przyczyn kilkanaście. Czat AI świetnie prowadzi taką diagnozę, o ile dostanie wyniki testów zamiast ogólników. Mój prompt:

Diagnozuję formularz kontaktowy na WordPressie (wtyczka: [nazwa], hosting: [nazwa]). Objaw: formularz pokazuje wysłanie, ale wiadomość nie dociera. Wyniki testów: mail z resetem hasła [dochodzi/nie dochodzi]; pole Nadawca ustawione na [adres, w domenie strony czy poza nią]; pole Odbiorca: [adres lub shortcode]; folder spam [sprawdzony, pusty/są tam wiadomości]; wtyczka SMTP [brak/nazwa, wynik testu wysyłki]. Podaj kolejne kroki diagnozy od najbardziej prawdopodobnej przyczyny, a przy każdym kroku napisz, jaki wynik co oznacza. Nie proponuj zmian w rekordach DNS bez wyjaśnienia ryzyka.

Zauważ, że prompt zawiera wyniki testów z tego artykułu: reset hasła, domena nadawcy, spam, SMTP. To one zamieniają odpowiedź z listy ogólnych porad w drzewo decyzyjne dopasowane do Twojego przypadku. Schemat "objaw + wykonane testy + wyniki" to uniwersalny klucz do diagnozy z AI, który pokazywałam już przy niezapisywaniu zmian, i który wraca w każdym technicznym artykule z tej serii, bo po prostu działa.

Krok po kroku

  1. Wykonaj test rozstrzygający: reset hasła WordPressa i sprawdzenie, czy mail systemowy dociera.
  2. Ustaw pole Nadawca formularza na adres w domenie strony, a adres piszącej osoby przenieś do Reply-To.
  3. Wdróż wysyłkę przez SMTP: skrzynka w domenie, wtyczka WP Mail SMTP, test wysyłki.
  4. Wyślij wiadomość testową przez formularz i sprawdź odbiór oraz folder spam.
  5. Dodaj pole quizu przeciw botom i checkbox zgody na przetwarzanie danych.
  6. Wpisz do kalendarza kwartalny test formularza, bo o jego awarii inaczej dowiesz się ostatnia.

Najczęstsze pytania (i odpowiedzi)

Dlaczego formularz Contact Form 7 nie wysyła wiadomości?

Najpierw rozdziel dwa scenariusze testem: użyj opcji resetu hasła WordPressa. Jeśli mail systemowy nie dociera, problem leży w wysyłce poczty z serwera, a nie w formularzu, i rozwiązuje go konfiguracja SMTP lub interwencja hostingu. Jeśli mail systemowy dociera, sprawdź konfigurację formularza: pole Nadawca musi zawierać adres w domenie strony, pole Odbiorca poprawny adres docelowy, a folder spam należy do rutyny każdego testu.

Co wpisać w polu Nadawca (From) w Contact Form 7?

Adres w domenie Twojej strony, np. [email protected], albo shortcode [siteadminemail]. Adres spoza domeny (Gmail, inna Twoja domena) powoduje odrzucanie wiadomości przez serwery pocztowe jako próbę podszywania się, zgodnie z mechanizmami uwierzytelniania SPF i DKIM. Adres osoby wypełniającej formularz umieść w polu Reply-To, dzięki czemu odpowiesz jej jednym kliknięciem, a wiadomość formalnie wyjdzie z upoważnionego adresu Twojej domeny.

Jak sprawdzić, czy WordPress w ogóle wysyła maile?

Najprostszy test: wyloguj się i skorzystaj z opcji "Nie pamiętasz hasła?" na stronie logowania. Mail z resetem to wiadomość systemowa niezależna od wtyczek formularzy, więc jego los rozstrzyga diagnozę: dotarł, znaczy WordPress wysyła i problem leży w formularzu; nie dotarł, znaczy problem leży w wysyłce z serwera. Alternatywnie wtyczki SMTP mają wbudowany test wysyłki z raportem. Ten jeden test wykonuj zawsze jako pierwszy krok diagnozy.

Co to jest SMTP i po co mi wtyczka WP Mail SMTP?

WordPress domyślnie wysyła maile prostą metodą serwerową bez uwierzytelnienia, którą skrzynki odbiorcze coraz częściej traktują jako spam lub odrzucają. SMTP to wysyłka przez prawdziwą, uwierzytelnioną skrzynkę pocztową: zakładasz skrzynkę w domenie strony, a wtyczka typu WP Mail SMTP kieruje przez nią wszystkie maile WordPressa, łącznie z powiadomieniami sklepu. Efekt to skokowa poprawa dostarczalności formularzy, zamówień i wiadomości systemowych.

Nie przegap kolejnych materiałów

Dołącz do bezpłatnej platformy - artykuły, tutoriale, webinary i raporty w jednym miejscu.

0 zł. Bez karty. W każdej chwili możesz zrezygnować.