Strona główna  /  Bezpieczeństwo  /  Problem ze spamem mailowym w WordPress – jak go rozwiązać?

Tarcza ochronna blokująca napływający spam w formie czerwonych kopert przed portalem WordPress.

Problem ze spamem mailowym w WordPress – jak go rozwiązać?

Problem ze spamem mailowym w WordPress może oznaczać dwie różne rzeczy: boty zasypujące formularz albo wiadomości wysyłane ze strony, które nie docierają do odbiorcy lub trafiają do folderu spam. Najpierw rozpoznaj właściwy scenariusz, a potem zastosuj osobne rozwiązanie – ochronę formularza albo konfigurację SMTP i DNS.

Jaki dokładnie masz problem z pocztą?

Spam przychodzący powstaje wtedy, gdy automatyczne skrypty wysyłają zgłoszenia przez formularz kontaktowy. Problem z dostarczalnością dotyczy natomiast wiadomości generowanych przez WordPress, takich jak powiadomienia, formularze czy linki resetowania hasła.

Objaw Prawdopodobna przyczyna Główny obszar naprawy
Formularz otrzymuje dziesiątki pustych lub reklamowych zgłoszeń Boty omijają formularz bez zabezpieczeń Honeypot, CAPTCHA i ograniczenie liczby wysyłek
WordPress nie wysyła powiadomień ani linków resetujących hasło Ograniczenia hostingu, błędny adres nadawcy lub brak autoryzacji SMTP, poprawny adres nadawcy i konfiguracja DNS
Wiadomości są wysyłane, ale trafiają do spamu Brak SPF, DKIM lub DMARC, słaba reputacja serwera albo niezgodny nadawca Uwierzytelnienie domeny i wysyłka przez SMTP

Jak naprawić wysyłkę maili z WordPress?

WordPress często korzysta z funkcji PHP mail(). Ta metoda zależy od konfiguracji serwera i nie zapewnia takiej kontroli nad uwierzytelnieniem nadawcy jak SMTP. Hosting może ją ograniczać, a wiadomości wysłane bez autoryzacji częściej są odrzucane lub oznaczane jako spam.

SMTP, czyli Simple Mail Transfer Protocol, pozwala połączyć WordPress z konkretną skrzynką lub usługą wysyłkową. Wiadomość jest wtedy wysyłana po uwierzytelnieniu, z określonym adresem nadawcy i parametrami szyfrowania.

Konfigurację wykonasz w kilku krokach:

  1. Sprawdź dane u dostawcy poczty – potrzebujesz adresu serwera SMTP, loginu, hasła, metody szyfrowania i portu. Najczęściej spotykane są porty 587 dla połączenia z STARTTLS oraz 465 dla połączenia SSL, ale decydujące są informacje dostawcy.
  2. Zainstaluj wtyczkę SMTP – możesz użyć na przykład WP Mail SMTP albo Fluent SMTP. Wybór narzędzia jest drugorzędny, ponieważ najważniejsze pozostają poprawne dane serwera i autoryzacja.
  3. Wpisz dane serwera – podaj host SMTP, port, szyfrowanie, nazwę użytkownika i hasło. Jeśli hosting wymaga utworzenia skrzynki w tej samej domenie, użyj właśnie tego adresu.
  4. Ustaw stały adres nadawcy – najlepiej użyć adresu należącego do domeny strony, na przykład [email protected]. Nie ustawiaj jako nadawcy adresu wpisanego przez osobę wypełniającą formularz. Jej adres może znaleźć się w polu Reply-To.
  5. Wyślij wiadomość testową – sprawdź, czy dociera do skrzynki odbiorczej i czy nie trafia do spamu. Następnie wyślij test przez każdy ważny formularz oraz sprawdź powiadomienia WordPress.

Jeżeli test SMTP nie działa, sprawdź ponownie port, szyfrowanie i hasło. Niektóre serwery współdzielone blokują określone połączenia wychodzące albo wymagają włączenia usługi pocztowej w panelu hostingu.

Nie traktuj SMTP jako gwarancji dostarczenia każdej wiadomości. Rozwiązuje problem technicznej wysyłki, ale o decyzji serwera odbiorcy nadal wpływają reputacja domeny, treść wiadomości i rekordy DNS.

Jakie rekordy DNS sprawdzić?

W strefie DNS domeny powinny znaleźć się rekordy wskazane przez dostawcę poczty lub usługi SMTP:

  • SPF określa, które serwery mogą wysyłać wiadomości w imieniu domeny.
  • DKIM dodaje podpis cyfrowy, który serwer odbiorcy może zweryfikować za pomocą klucza publicznego w DNS.
  • DMARC określa, co zrobić z wiadomością, która nie przejdzie kontroli SPF lub DKIM, oraz może dostarczać raporty o próbach podszywania się pod domenę.
  • MX wskazuje serwery odbierające pocztę dla domeny. Nie zastępuje SPF, DKIM ani DMARC, ale jest potrzebny do poprawnej obsługi poczty przychodzącej.

Nie kopiuj przykładowych rekordów bez sprawdzenia dokumentacji dostawcy. Wielu dostawców wymaga własnej wartości SPF, selektora DKIM lub konkretnej polityki DMARC. Dwa niezależne rekordy SPF dla tej samej domeny mogą powodować błąd weryfikacji, dlatego konfigurację należy łączyć zgodnie z instrukcją operatora.

Jak zatrzymać spam w formularzach kontaktowych?

Jeżeli problemem są wiadomości generowane przez boty, sama konfiguracja SMTP nie wystarczy. SMTP może jedynie sprawić, że spam będzie sprawniej wysyłany do Twojej skrzynki. Formularz trzeba zabezpieczyć na poziomie przyjmowania zgłoszeń.

Najczęściej stosuje się kilka warstw ochrony:

  • Honeypot – ukryte pole, którego nie powinien wypełnić człowiek. Bot często uzupełnia je automatycznie, więc formularz może odrzucić takie zgłoszenie bez pokazywania dodatkowego testu użytkownikowi.
  • reCAPTCHA v3 – analizuje zachowanie odwiedzającego i działa bez klasycznego przepisywania kodu. Jest wygodna, ale wymaga konfiguracji kluczy i może błędnie ocenić część ruchu.
  • Limit wysyłek – ogranicza liczbę zgłoszeń z jednego adresu IP lub dla określonego formularza w danym czasie.
  • Filtr treści – pozwala zatrzymać wiadomości zawierające powtarzalne frazy, nadmiar linków lub podejrzane załączniki.

Honeypot zwykle nie przeszkadza użytkownikom, ale nie zatrzyma każdego zaawansowanego bota. CAPTCHA zapewnia dodatkową kontrolę, za cenę większej liczby zależności i możliwego wpływu na prywatność lub wygodę. Przy nasilonym spamie warto połączyć honeypot z limitem wysyłek i filtrem treści, zamiast polegać na jednym mechanizmie.

Wtyczki antyspamowe, takie jak Akismet Anti Spam, mogą pomóc w filtrowaniu komentarzy i wybranych zgłoszeń, ale ich zakres zależy od integracji z konkretnym formularzem. Przed instalacją sprawdź, czy narzędzie obsługuje używany przez Ciebie formularz.

Co sprawdzić po wdrożeniu zmian?

Po konfiguracji nie ograniczaj testu do jednego kliknięcia w panelu. Sprawdź zarówno samą wysyłkę, jak i zachowanie formularza oraz odbiór wiadomości:

  • Wyślij test z każdego formularza i sprawdź skrzynkę odbiorczą oraz folder spam.
  • Zweryfikuj nagłówki wiadomości, w tym wynik kontroli SPF, DKIM i DMARC.
  • Przejrzyj logi wysyłki w używanej wtyczce SMTP i zanotuj komunikaty błędów.
  • Sprawdź, czy adres nadawcy należy do domeny skonfigurowanej w usłudze pocztowej.
  • Skontaktuj się z hostingiem, jeśli wiadomości są odrzucane przez wszystkie domeny albo adres IP serwera może znajdować się na liście RBL.

Komunikat SMTP 554 5.7.1 może oznaczać odrzucenie wiadomości przez serwer odbiorcy, problem z autoryzacją, reputacją IP lub polityką antyspamową. Dokładne znaczenie zależy od pełnej treści odpowiedzi serwera, dlatego nie warto diagnozować go wyłącznie na podstawie samego kodu.

Jak utrzymać sprawną wysyłkę?

Po każdej aktualizacji WordPressa, wtyczki formularza, hostingu lub zmianie dostawcy poczty wykonaj krótki test. Zapisz dane konfiguracji SMTP poza panelem WordPressa, ale nie przechowuj haseł w ogólnodostępnym dokumencie.

Regularna kontrola może wyglądać tak:

  • Sprawdź, czy formularze nadal wysyłają wiadomości po aktualizacjach.
  • Monitoruj błędy SMTP i nietypowy wzrost liczby zgłoszeń.
  • Weryfikuj rekordy SPF, DKIM i DMARC po każdej zmianie dostawcy poczty.
  • Aktualizuj WordPress, wtyczki oraz środowisko PHP.
  • Usuwaj spam z formularzy i komentarzy, aby nie obciążał bazy danych i skrzynki.

Najpierw ustal, czy boty wysyłają spam przez formularz, czy wiadomości z WordPress nie są prawidłowo dostarczane. W pierwszym przypadku zacznij od honeypota, CAPTCHA i limitów. W drugim skonfiguruj SMTP, użyj nadawcy z własnej domeny oraz popraw SPF, DKIM i DMARC. Jeśli mimo tego wysyłka nadal kończy się błędem, potrzebne będą logi SMTP i pomoc hostingu.

Redakcja wpinternals.pl

WordPressa znamy od kuchni – budujemy na nim strony, migrujemy serwisy i optymalizujemy ich wydajność. Piszemy o wtyczkach, motywach, hostingu i bezpieczeństwie tak, by poradzili sobie także początkujący. Dbamy o to, by Twoja strona była szybka, stabilna i bezpieczna.

Może Cię również zainteresować

Potrzebujesz więcej informacji?