Krótka odpowiedź
Gdy WordPress nie wysyła maili, najpierw potwierdź wygenerowanie wiadomości, potem wynik wp_mail i transportu, a następnie status u operatora oraz odbiorcy. Wynik true nie oznacza doręczenia do skrzynki.
Sprawdź autoryzowanego nadawcę, SPF, DKIM i zgodność DMARC na rzeczywistej ścieżce wysyłki. Testy wykonuj z lokalnym przechwytywaniem poczty, bez prawdziwych zgłoszeń.
Brak wiadomości w skrzynce nie mówi jeszcze, czy WordPress ją wygenerował. Powiadomienie mogło nie powstać, utknąć w kolejce, zostać odrzucone przez operatora albo trafić do spamu. Naprawę prowadź zgodnie z drogą konkretnego maila. Potrzebujesz czasu zdarzenia, typu wiadomości i identyfikatora, który pozwoli połączyć log aplikacji z informacją dostawcy poczty.
W tym poradniku
Najpierw ustal, czy wiadomość powinna zostać wygenerowana
Zapisz typ maila: reset hasła, powiadomienie o zamówieniu, wiadomość formularza czy komunikat administracyjny. Następnie sprawdź zdarzenie, które miało go uruchomić, oraz warunki w aplikacji. Wyłączona akcja, pusty odbiorca albo nieosiągnięty status mogą zatrzymać proces przed wywołaniem transportu. Konfigurowanie SMTP nie naprawi wiadomości, której aplikacja nie utworzyła.
Rozdziel brak wysyłki, opóźnienie i doręczenie do innego folderu. Porównaj godzinę zdarzenia z wpisami logów i stanem kolejki, jeśli dana ścieżka jej używa. Nie wszystkie rodzaje powiadomień korzystają z tego samego mechanizmu. Brak wpisu w wybranym logu może oznaczać również brak odpowiedniego zakresu logowania.
W obsłudze WordPressa warto utrzymywać mapę typów wiadomości i odpowiedzialnych komponentów. Dzięki niej wiadomo, czy problem należy rozpocząć od formularza, sklepu, kodu własnego czy operatora. Przy jednej sprawie zachowaj zanonimizowany identyfikator i czas ze strefą, zamiast zbierać pełną treść komunikacji wszystkich klientów.
Podaj adres strony, objaw błędu i informację, od kiedy występuje. Jeśli problem pojawił się po zmianie lub aktualizacji, wspomnij o niej. Na początek wystarczy opis; nie przesyłaj haseł. Opisz problem z WordPressem
wp_mail i PHPMailer: sukces funkcji to tylko jeden etap
WordPress używa funkcji wp_mail(), której standardowa implementacja korzysta z PHPMailer. Transport może zostać skonfigurowany przez środowisko lub rozszerzenie. Dokumentacja wp_mail() wyraźnie zaznacza, że wynik true nie potwierdza otrzymania wiadomości przez użytkownika. Oznacza powodzenie przetworzenia na etapie obsługiwanym przez daną metodę.
Nie traktuj lokalnego przekazania przez PHP mail jako ścieżki z definicji pozbawionej uwierzytelnienia. Wiadomość może dalej obsłużyć agent pocztowy, który podpisuje ją i używa szyfrowanego połączenia do kolejnego serwera. Trzeba ustalić rzeczywistą konfigurację, zamiast oceniać całość na podstawie nazwy funkcji.
Sprawdź, czy inna wtyczka lub kod nie przechwytuje wywołania albo nie zmienia nagłówków. Przy własnych snippetach WordPressa przejrzyj zakres filtrów nadawcy i transportu. Test konfliktu wykonuj na kopii, po jednej zmianie. Nie wyłączaj wszystkich dodatków w publicznym serwisie tylko dlatego, że jedna wiadomość nie dotarła.
SMTP i API: sprawdź połączenie oraz odpowiedź operatora
Ustal, jak aplikacja komunikuje się z dostawcą poczty. SMTP i API to różne metody, choć obie mogą prowadzić do tej samej usługi. Zapisz konfigurację endpointu, sposób uwierzytelnienia i rodzaj błędu bez ujawniania hasła lub klucza. Odróżnij brak połączenia, problem szyfrowania, odrzucone logowanie i odmowę przyjęcia wiadomości.
Poprawne uwierzytelnienie aplikacji nie gwarantuje reputacji nadawcy ani doręczenia. Sprawdź, czy operator dopuścił wybrany adres From i czy wiadomość ma identyfikator po jego stronie. From nie musi być dosłownie tym samym adresem co login SMTP, jeśli usługa obsługuje odpowiednio autoryzowany alias lub domenę. Warunki wynikają z konfiguracji dostawcy.
Przy wyborze transportu oceń logi, odbicia, limity, odzyskiwanie dostępu i odpowiedzialność za domenę. Dedykowany adres IP nie jest automatycznie lepszy dla małego wolumenu. Najpierw ustal potrzebę oraz sposób utrzymania reputacji. Migracja usługi ma sens wtedy, gdy rozwiązuje potwierdzone ograniczenie, nie tylko zmienia nazwę wtyczki w panelu.
SPF, DKIM i DMARC: porównaj domeny w nagłówkach
SPF sprawdza uprawnienie serwera do wysyłki dla domeny kopertowej, a w odpowiednich sytuacjach tożsamości HELO. To nie zawsze domena widoczna użytkownikowi w polu From. DKIM pozwala zweryfikować podpis powiązany z domeną podpisującą. DMARC wiąże wynik uwierzytelnienia z domeną widocznego nadawcy poprzez zgodność domen, nazywaną alignment.
Do powodzenia DMARC wystarcza zgodna uwierzytelniona ścieżka SPF lub DKIM; nie należy wymagać jednoczesnego sukcesu obu jako uniwersalnej definicji. Analizuj nagłówki rzeczywistej wiadomości, a nie wyłącznie obecność rekordów w DNS. Sam opublikowany klucz nie dowodzi, że używany transport podpisał nim maila.
Przed zmianą DNS sporządź mapę nadawców: skrzynki firmowe, sklep, system faktur i inne uprawnione usługi. Nie dodawaj drugiego rekordu SPF dla tej samej nazwy ani nie usuwaj wpisów bez ustalenia zależności. Zmianę zakresu i polityki oceniaj na podstawie raportów oraz dokumentacji operatora. Porządek dostępu i sekretów wpisuje się także w bezpieczeństwo sklepu internetowego.
Wymagania Gmail i folder spam: uwierzytelnienie nie kończy diagnozy
Wytyczne Gmail dla nadawców rozdzielają wymagania dla wszystkich nadawców i dla wysyłających ponad 5000 wiadomości dziennie do osobistych kont Gmail. Pierwsza grupa wymaga SPF lub DKIM, a druga obejmuje między innymi SPF, DKIM i DMARC. To wymagania odbiorcy, nie uniwersalny próg prawny obejmujący całą pocztę.
Wymagania dotyczą również innych elementów jakości wysyłki, a dla odpowiednich wiadomości marketingowych wypisania z subskrypcji. Nie stosuj reguł newslettera mechanicznie do każdego technicznego komunikatu. Przy ocenie konkretnej ścieżki sprawdź aktualną dokumentację i kategorię wiadomości, zamiast uznać komplet trzech nazw rekordów za pełny odbiór.
Jeśli mail trafił do spamu, obejrzyj jego nagłówki, domeny, odnośniki i informacje odbiorcy. Znaczenie mogą mieć także reputacja, skargi i sposób wysyłania. Punktacja z narzędzia diagnostycznego pomaga znaleźć problem, lecz nie gwarantuje folderu odbiorczego u wszystkich operatorów. Nie zmieniaj kilku elementów naraz, bo utrudni to ocenę, która poprawka miała znaczenie.
Opóźnienie i odbicie: znajdź etap oczekiwania
Porównaj czas zdarzenia aplikacji, próby przekazania, przyjęcia przez operatora i dalszego statusu. Jeśli aplikacja wygenerowała mail późno, szukaj w zadaniu i jego warunkach. Jeżeli przyjęcie nastąpiło szybko, ale operator odroczył dalszą próbę, przeanalizuj odpowiedź serwera odbiorcy. Te przypadki nie wymagają tej samej poprawki.
Odbicie powinno mieć powód i identyfikator pozwalający połączyć je z pierwotną wiadomością. Sprawdź błędny adres, odrzucenie polityki i czasowe ograniczenie. Zapis logowania do SMTP nie zastąpi tej informacji. Ustal również, gdzie trafiają powiadomienia o niedoręczeniu, aby nie gromadziły się na nieobsługiwanym adresie technicznym.
Nie ponawiaj masowo całej kolejki bez sprawdzenia stanu. Część wiadomości mogła zostać już przyjęta, choć aplikacja nie zapisała odpowiedzi. Duplikaty potwierdzeń mogą dezorientować klientów. W utrzymaniu strony internetowej potrzebny jest sposób rozpoznania powtórzenia i osoba odpowiedzialna za decyzję, które wiadomości rzeczywiście wymagają ponownej obsługi.
WooCommerce: powiąż typ maila ze statusem zamówienia
Sprawdź ustawienia konkretnego powiadomienia, odbiorcę i zdarzenie zamówienia. Jeśli status nie zmienił się mimo płatności, przyczyną może być wcześniejszy etap komunikacji bramki ze sklepem. Wtedy ręczne ponawianie maila nie naprawia procesu. Dokumentacja diagnozy maili WooCommerce prowadzi przez konfigurację, generowanie i przekazanie do systemu pocztowego.
Bieżąca dokumentacja opisuje log transactional-emails ze stanami przekazania, błędu, wyłączenia lub pominięcia. Dostępność sprawdź dla zainstalowanej wersji. Kontroluj też retencję i poziom logowania, bo mogą ukrywać oczekiwany wpis. Ten log nie obejmuje automatycznie resetów hasła WordPressa ani każdej wiadomości innej wtyczki.
Jeżeli dany typ korzysta z przetwarzania w tle, odczytaj właściwe zadanie i ostatni wynik. Nie przypisuj wszystkich maili do Action Scheduler. Przy błędzie własnego szablonu sprawdź log PHP na kopii. Oddziel dowód wygenerowania komunikatu od wyniku transportu oraz informacji odbiorcy; dzięki temu kolejne osoby nie będą powtarzały całej diagnozy od początku.
Bezpieczny test i pakiet dowodów dla wsparcia
Odtwórz problem na izolowanej kopii z lokalnym przechwytywaniem poczty lub sandboxem dostawcy. Użyj syntetycznych danych i zablokuj rzeczywiste powiadomienia oraz pomiar konwersji. Sprawdź odbiorcę, From, Reply-To, temat i treść bez wysyłania wiadomości do klientów. Taki test potwierdza etap aplikacji. Reputację domeny i doręczenia oceniaj osobno na podstawie rzeczywistych raportów operatora oraz odbić.
Do wsparcia przekaż wersje komponentów, typ wiadomości, czas, identyfikator i zanonimizowany błąd. Wskaż ostatni etap z dowodem sukcesu. Logi przechowuj z ograniczonym dostępem i retencją, bez niepotrzebnych danych osobowych. Hasła aplikacyjne i klucze nie powinny trafiać do załączników diagnostycznych.
Naprawa WordPressa może objąć potwierdzoną przyczynę oraz odbiór wybranych scenariuszy. Dalszą kontrolę można ustalić w małym pakiecie godzinowym z indywidualnymi warunkami opieki i ewentualnym SLA. Przez kontakt KC Mobile opisz, czy mail nie powstaje, jest opóźniony czy trafia do spamu. To pozwala dobrać właściwy początek diagnozy.
Najczęściej zadawane pytania
Czy wynik true z wp_mail potwierdza doręczenie maila?
Czy ustawienie SMTP wystarczy, aby mail nie trafiał do spamu?
Czy brak wpisu w logu oznacza blokadę hostingu?
Dlaczego powiadomienie WooCommerce przychodzi z opóźnieniem?
Co przekazać administratorowi przy problemie z pocztą WordPressa?
Ustalmy, co wymaga naprawy
Podaj adres strony, objaw błędu i informację, od kiedy występuje. Jeśli problem pojawił się po zmianie lub aktualizacji, wspomnij o niej. Na początek wystarczy opis; nie przesyłaj haseł.