Zdarzają się sytuacje gdy WordPress za nic w świecie nie chce wysyłać maili. Przyczyną takiego stanu rzeczy może być niedziałająca poprawnie lub nawet całkowicie wyłączona ze względów bezpieczeństwa funkcja mail().
Alternatywnym rozwiązaniem jest wtedy skorzystanie z serwera poczty wychodzącej (SMTP).
Jakie maile wysyłane są przez WordPressa?
WordPress używa funkcji mail() do automatycznego wysyłania listów zawierających m.in.:
- linki aktywacyjne dla nowo zarejestrowanych użytkowników,
- linki aktywujące system odzyskiwania zapomnianych haseł,
- powiadomienia o nowych komentarzach,
- wypełnione formularze kontaktowe (np. poprzez wtyczkę Contact Form 7),
- newslettery (np. poprzez wtyczkę Subscribe2),
- oraz wiele innych…
Niewysyłające się maile mogą więc poważnie obniżyć funkcjonalność całej strony.
Serwer poczty wychodzącej (SMTP)
Alternatywnym dla funkcji mail() sposobem wysyłania listów jest korzystanie z serwera pocztowego SMTP.
Dzięki wtyczce WP Mail SMTP całą operację można w bezbolesny sposób przeprowadzić z poziomu panela administratora. Trzeba jednak wcześniej przygotować sobie następujące dane:
- adres e-mail,
- host i port serwera SMTP,
- czy potrzebne jest szyfrowanie? jeśli tak to jakie? (SSL czy TLS),
- czy potrzebna jest autoryzacja?
- nazwa i hasło użytkownika.
Ogólnie rzecz biorąc są to te same dane konta pocztowego, które trzeba podać przy korzystaniu z programów pocztowych typu Mozilla Thunderbird, The Bat! czy Outlook Express.
Konfiguracja wtyczki WP Mail SMTP
Po aktywacji wtyczki należy przejść do zakładki „ustawienia” / „email” i wypełnić znajdujący się tam formularz. Poniżej załączam zrzut ekranowy z przykładowej konfiguracji (w tym konkretnym przypadku jest to Gmail z Google Apps):

Przykładowa konfiguracja wtyczki WP Mail SMTP
Testowanie połączenia z serwerem SMTP
Po uzupełnieniu danych i zapisaniu ich przyciskiem „update” należy je przetestować:

Wysyłanie testowego maila przy użyciu wtyczki WP Mail SMTP
Po wysłaniu testowego maila otrzymamy podsumowanie całej operacji.
Jeśli przy wartości „The result was” otrzymamy „bool (false)” to niestety nasze ustawienia są niepoprawne – należy wtedy sprawdzić czy wszystkie dane wpisaliśmy prawidłowo a jeśli to nie pomoże to skontaktować się z administracją serwera w celu uzyskania dodatkowych informacji:

Testowy mail nie został wysłany
Jeśli jednak otrzymamy „bool(true)” oznaczać to będzie, że poprawnie skonfigurowaliśmy konto i od tej pory listy będą serwowane nie przez funkcję mail ale przez serwer SMTP:

Testowy mail został poprawnie wysłany
W celu upewnienia się, że wszystko jest cacy można otworzyć skrzynkę pocztową:

Potwierdzenie przyjścia testowego maila
I na tym kończymy całą operację. Od tego momentu wszystkie listy będą wysyłane za pośrednictwem serwera pocztowego dzięku czemu nasza strona będzie znowu w 100% sprawna :-).

ocena: 4,25 / 5 | głosów: 12
Świetnie że pojawił się taki artykuł sam miałem problem z funkcją sendmail na serwerze i wykorzystałem tą właśnie wtyczkę… Szkoda tylko że tak długo musiałem szukać jakiejkolwiek informacji na ten temat. Ale wpis świetny.
Mam nadzieję, że problem z pocztą wordpressową – jakoś się objawia? A może należy co jakiś czas wysyłać do siebie emaile, aby to stwierdzić?
@elbi: jak userzy zaczną się skarżyć, że im rejestracja nie działa, to właśnie to jest objaw, zresztą @Szymon dokładnie to już napisał… :)
A ja mam podobne pytanie, jak dodać w WP by pod komentarzami było ” Powiadom mnie o nowym komentarzu do tego artykułu.”
@spex pozwolę sobie zaproponować wtyczkę subscribe-to-comments, którą używam i opisuje u siebie na stronie lub taki link http://wordpress.org/extend/plugins/subscribe-to-comments/
Napisałem o tym nawet artykuł swojego czasu:
Powiadamianie czytelników o nowych komentarzach. :-)
Dziękuję! :)
Jak zwykle przydatny artykuł :)
Ja również opisałem plugin do powiadomień o odpowiedziach na komentarz + dodatek do niego :)
Bardzo praktyczna wtyczka – na 100% będę jej używał. Mam serwer, na którym mailer pracuje tylko dla poczty wysłanej ze stron, raz na ileś setek wejść…
Porządny poradnik. Dziękuję Szymonie. Będę polecał klientom potrzebującym tej funkcjonalności. Adres artykułu już dodałem sobie do Delicious.
Takie pytanko mam z innej bajki. A tu na wpninja zacząlem przygode z WP to tu szukam pomocy najpierw :) Czego szukać żeby zrobić header ( chyba tak to sie zwie, to głowne photo na stronie ) zmienny w zaleznosci od kategorii. o musi byc jakis dodatek ? rozszerzenie ? czego szukac
Żeby było :
wchodzę na głowną – głowne tlo i heather
wchodze na posty w zaleznosci od kategorii inne tło i header
Boże jak ja nic nie wiem :)
@a90: polecam plugin HeadSpace2. Spróbuj z tym.
Witam
A czy jest jakiś plugin który umożliwiałby wstawienie na innej stronie www wiadomości o ostatnich wpisach na blogu? Np tworzyłby jakiś plik .php z podanymi ostatnimi linkami, który mógłbym np zaincludować na inną stronę, szukałem czegoś takiego ale to tylko były rozwiązania a’la widget do wordpressa i tylko tam były wyświetlane te ostatnie wpisy, nic co można przenieść na zewnątrz wp :( a szkoda
@dejavu24: musisz szukać czytników (agregatorów) RSS do wstawienia na stronę www i w nich podać adres feeda z danego bloga. Jaki to będzie skrypt to zależy od tego na jakim skrypcie „stoi” strona www. Gotowców (również uniwersalnych) jest w sieci sporo. Poszukaj na php.pl i Google.
Oo właśnie o to mi chodziło, kompletnie nie przyszło mi to do głowy :> Znalazłem na necie taki skrypcik działa elegancko co można zobaczyć u mnie. Jakby ktoś potrzebował coś takiego to można go pobrać z tej stronki http://www.aarondunlap.com/index.php?content=rss_get , bardzo fajna rzecz :)
Wielkie dzięki
@dejavu24: nie ma za co :) Zawsze możesz linka do mnie gdzieś wstawić jak będziesz opisywał ww skrypt ;)
Prosiłbym jednak o pisanie komentarzy na temat artykułu :-). Pytania niezwiązane można przesyłać mailowo lub zamieszczać na polskim forum WordPressa.
@Szymon: spoko luz :) Ale zawsze to ciekawe tematy na następne wpisy – bo coś ucicha ostatnio ;P
To by było dziwne wysyłać pytania na maila.. bo i do kogo, trafiać na ślepo i szukać ludzi.. :> A tu jak widać mój szybki ‚myk’ się udał i rozwiązanie problemu nastąpiło ‚raz dwa’ a to się liczy w naszym krótkim życiu :)
Forum mi niepotrzebne z Wp to wchodzę tylko tutaj po info :)
dzikuje za porade. Pytania nie na temat bo
walka ideologiczna trwa na różnych poziomach klasowych !
ja obecnie walczę z oblaniem fotki tekstem.
Temat emalii z WP jest prawdopodobnie pasjonujacy, ale nie dla mnie :)
A temat którego szukam to odsztywnienie WP. Sztywne to WP, kanciaste i prostokatne. Żeby cos wyglądało zza tekstu, zmieniało się tło, jakiś owal, nieregularność.
Aloha ! lece na surfing
Komentarze nie na temat będą usuwane.Tfu, tfu..! :-)Z tym, że pytania zadane na maila nie są dostępne publicznie, a komentarze – i owszem, więc więcej osób może na nie trafić…
Rozumiem, że jest takie zapotrzebowanie i jest to całkiem efektywny sposób na uzyskanie szybkiej (i najczęściej fachowej) porady.
Stąd też pomysł na dedykowane forum dla bloga – ankietę znaleźć można w sidebarze na stronie głównej :-).
Oczywiście działa bez problemu. Nawet wtedy, gdy nie podałem SMTP Host.
Dzięki :D
Dzieki, pomoglo ;)
Pożyteczny artykuł. Jednak w moim przepadku wszelkie powiadomienia nadal się nie wysyłają pomimo tego, że mail testowy z tej wtyczki doszedł bez problemu.
Czy problem nie dochodzących maili nie dotyczy przypadkiem skrzynek na wp.pl?
No masz racje, działa to sobie sprawnie;)
Świetny artykuł, dzięki niemu uruchomiłem pocztę na moim wordpressie.
Niestety zgadzam się z Verid – test przeszedł , ale powiadomienia dalej są pchane przez mail() …
Ten WP-Mail-SMTP to jest totalny syf! skonfigurowalem go poprawnie, email testowy doszedl, natomiast contact form 7 nie wysyla e-maili, ta samo tiny-contact-form rowniez. Z czym WP-Mail-SMTP wogole dziala?!?!?!
U mnie z Contact Form 7 idealnie działa, więc zamiast wyzywać od syfu, to najpierw sprawdź jeszcze raz wszystkie ustawienia.
Czytalem troche na ten temat tutaj:
http://www.caspianit.co.uk/contact-form-7-wp-mail-smtp-problemsolved/
Robilem wszystko jak trzeba. Jak to mozliwe ze mail tesotwy dochodzi a reszta nic. Nie moge wpasc na to gdzie moge miec blad.
Juz rozwiazlem problem! podziele sie informacja jak to zrobilem jezeli ktos mial podobnie.
Otoz we wtyczce Contact Form 7 nalezalo w ustawieniach w ramce „E-mail” w rubryce „Od: ” zamiast „[your-name] ” dać np.: „[jakas nazwa jaka chcemy] „. A wiec ten e-mail jaki zostal wpisany podczas konfiguracji wtyczki WP Mail SMTP (rubryka From Email). :)
Ja mam od samego początku wpisane „[your-name] ” i także działa :)
Wystarczy zachować kolejność, wpierw zainstalować i skonfigurować WP Mail SMTP następnie Contact Form 7. Jeżeli ktoś zrobił odwrotnie to ma prawo nie działać, wówczas wystarczy jedynie dezaktywować Contact Form 7 i usunąć (dezaktywacja to nie usunięcie), po czym na nowo zainstalować i aktywować.
No dobrze, ja mam jeszcze inny problem z WP-Mail-SMTP. Nie mogę nic ustawić w wtyczce, bo przy próbie wejścia w ustaweinia pojawia się:
Fatal error: Cannot redeclare wp_mail_plugin_action_links() (previously declared in /homez.13/banasik/www/wp-content/plugins/wp-mail-smtp/wp_mail_smtp.php:426) in /homez.13/banasik/www/wp-content/plugins/wp-mail-smtp/wp_mail_smtp.php on line 426
A czy w ustawieniach poczty też muszę coś pozmieniać. mam poczet na gmail ustawiłem wszystko tak jak to pokazałeś, i nic cały czas false.