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):
Testowanie połączenia z serwerem SMTP
Po uzupełnieniu danych i zapisaniu ich przyciskiem „update” należy je przetestować:
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:
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:
W celu upewnienia się, że wszystko jest cacy można otworzyć skrzynkę pocztową:
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 :-).
Komentarze
Ś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.
odpowiedzMam 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ć?
odpowiedz@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ł… :)
odpowiedzA ja mam podobne pytanie, jak dodać w WP by pod komentarzami było ” Powiadom mnie o nowym komentarzu do tego artykułu.”
odpowiedz@spex pozwolę sobie zaproponować wtyczkę subscribe-to-comments, którą używam i opisuje u siebie na stronie lub taki link https://wordpress.org/plugins/subscribe-to-comments/
odpowiedzNapisałem o tym nawet artykuł swojego czasu:
odpowiedzPowiadamianie czytelników o nowych komentarzach. :-)
Dziękuję! :)
odpowiedzJak zwykle przydatny artykuł :)
odpowiedzJa również opisałem plugin do powiadomień o odpowiedziach na komentarz + dodatek do niego :)
odpowiedzBardzo 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ść…
odpowiedzPorządny poradnik. Dziękuję Szymonie. Będę polecał klientom potrzebującym tej funkcjonalności. Adres artykułu już dodałem sobie do Delicious.
odpowiedzTakie 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
odpowiedzŻ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.
odpowiedzWitam
odpowiedzA 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.
odpowiedzOo 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 :)
odpowiedzWielkie dzięki
@dejavu24: nie ma za co :) Zawsze możesz linka do mnie gdzieś wstawić jak będziesz opisywał ww skrypt ;)
odpowiedzProsiłbym jednak o pisanie komentarzy na temat artykułu :-). Pytania niezwiązane można przesyłać mailowo lub zamieszczać na polskim forum WordPressa.
odpowiedz@Szymon: spoko luz :) Ale zawsze to ciekawe tematy na następne wpisy – bo coś ucicha ostatnio ;P
odpowiedzTo 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 :)
odpowiedzForum mi niepotrzebne z Wp to wchodzę tylko tutaj po info :)
dzikuje za porade. Pytania nie na temat bo
odpowiedzwalka 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
odpowiedzKomentarze 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ć…
odpowiedzRozumiem, ż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 :-).
odpowiedzOczywiście działa bez problemu. Nawet wtedy, gdy nie podałem SMTP Host.
odpowiedzDzięki :D
Dzieki, pomoglo ;)
odpowiedzPożyteczny artykuł. Jednak w moim przepadku wszelkie powiadomienia nadal się nie wysyłają pomimo tego, że mail testowy z tej wtyczki doszedł bez problemu.
odpowiedzCzy problem nie dochodzących maili nie dotyczy przypadkiem skrzynek na wp.pl?
odpowiedzNo masz racje, działa to sobie sprawnie;)
odpowiedzŚwietny artykuł, dzięki niemu uruchomiłem pocztę na moim wordpressie.
odpowiedzNiestety zgadzam się z Verid – test przeszedł , ale powiadomienia dalej są pchane przez mail() …
odpowiedzTen 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?!?!?!
odpowiedzU mnie z Contact Form 7 idealnie działa, więc zamiast wyzywać od syfu, to najpierw sprawdź jeszcze raz wszystkie ustawienia.
odpowiedzCzytalem troche na ten temat tutaj:
odpowiedzhttp://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.
odpowiedzOtoz 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 :)
odpowiedzWystarczy 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ć.
odpowiedzNo 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
odpowiedzA 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.
odpowiedzJeśli komuś ta wtyczka nie działa (jak mi teraz) to polecam skorzystać z aleternatywy – Configure SMTP.
odpowiedzMożecie polecić jakąś wtyczkę obsługującą newslettera?
odpowiedzMogę polecić wtyczkę Newsletter. Jest też dostępna komercyjna wersja wtyczki, która jest nieco bardziej rozbudowana.
odpowiedzDzięki , walczyłem z tym problemem z tydzień…. udało się:)
odpowiedzKurcze mam problem – testowy mail wychodzi pięknie. Niestety Subscribe2 już nie działa:/
odpowiedzWtyczka rozwiązuje problem bardzo częściowo…. Niestety wysyłane w ten sposób wiadomości mogą być adresowane tylko jako właściciel konta z którego są wysyłane.
Jeśli w jakiejś wtyczce (np contac form 7) Chcemy wysyłać również wiadomość jako osoba, która wpisała e-mail w formularzu (w otrzymanym mailu możemy wtedy szybko i wygodnie odpowiedzieć) e-maile nie wyślą się wcale (WP Mail SMTP) lub zostaną zaadresowane jako konto podane w ustawieniach SMTP (Configure SMTP).
Wysyłanie wiadomości do samej siebie (z ustawień SMTP) i dodawanie adresu nadawcy w np temacie wiadomości jest bardzo niewygodne i nieprofesjonalne… Pozostaje poprawnie skonfigurować postfixa na serwerze :D (na 8 stronach działa poprawnie, a na jednej – przeniesionej z innego serwera) dziad jeden wysyła mi wiadomości jako localhost itp…
odpowiedzJest to jak najbardziej poprawne i normalne.
Od tego jest przecież nagłówek Reply-to.
W CF7 dodajesz sobie dodatkowy nagłówek
-i odpowiedź będzie szła tam, gdzie należy.
odpowiedzE-mail test z wtyczki Configure SMTP przychodzi na skrzynkę, ale wysyłany e-mail z formularza kontaktowego na stronie WP już nie. Czy ktoś z was wie dlaczego i jest w stanie pomóc?
odpowiedzJakiej wtyczki używasz w formularzu kontaktowym?
odpowiedzWtyczka była zakupiona razem z motywem strona http://kuriermiastecki.pl/wordpress3/
odpowiedzMoże skrypt nie korzysta z wbudowanej funkcji WP (wp_mail)?
odpowiedzA co jeśli otrzymamy wartość true, a po wejściu na skrzynkę maila nie ma?
odpowiedzA może zaplątał się gdzieś w spamie? Zauważyłem, że wtyczka opisana w artykule nie była aktualizowana już od roku więc możesz jeszcze wypróbować WP SMTP. Daj znać jak poszło.
odpowiedzWitam,
mam problem z opisywaną wtyczką.
Niby wyświetla
The result was:
bool(true)
ale na końcu skryptu wyświetla komunikat
SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport „ssl” – did you forget to enable it when you configured PHP? (1909572407)
i mail na skrzynkę nie przychodzi.
odpowiedzJakie ustawienia trzeba jeszcze zmienić?
Wyłączony ssl na serwerze, najprościej zagadać do admina hostingu.
odpowiedzA u mnie mail testowy wychodzi, natomiast w formularzu kontaktowym ciągle mam błąd „mail nie został wysłany”). Formularz mam z contact form 7. Co jeszcze mogę zrobić?
odpowiedzJest jeszcze inna wtyczka o podobnym działaniu – WP SMTP – próbowałaś może?
odpowiedzPróbuję i mam tu już na mailu testowym – some errors occured. Sprawdziłam poprawność maila i hasło. Port też mam taki jak w sugerowanej konfiguracji.
odpowiedzPróbujesz połączyć to ze swoim kontem pocztowym na gmail.com?
Jeśli tak to proponowane przez autora ustawienia są w porządku tylko trzeba pamiętać żeby przy testowaniu wypełnić wszystkie pola formularza („To”, „Subject” i „Message”) – bez tego nadal będą pojawiały się wspomniane błędy.
PS. Swoją drogą – ustawienia z artykułu powyżej (tj. port 465 i szyfrowanie SSL) też działają poprawnie.
odpowiedzNie pamiętam hasła do wordpressa i nie mogę się zalogować, aby cokolwiek opublikować na swojej stronie. Użyłem funkcji „nie pamiętasz hasła” podałem e-mail ale niestety nic nie przychodzi od wordpressa. Dokonywałem tej czynności kilkanaście razy ale wciąż nie przychodzi nic od wordpressa. Czytałem wyżej że coś może mam nie ustawione w wordpressie z emailem ale jak mam to ustawić skoro nie mogę się zalogować? Bo nie mam zwrotnego emaila od wordpressa po skorzystaniu z funkcji „nie pamiętasz hasła”. Proszę bardzo o pomoc
odpowiedzA pamiętasz hasło do bazy – tam można zmienić hasło.
odpowiedza jak wejść w bazę
odpowiedzNie ma co się rozpisywać ale po wpisaniu w google „odzyskiwanie hasla w wordpress” dostaniesz wiele obrazkowych i nie tylko odpowiedzi ;)
odpowiedzHasło do bazy jest w pliku wp-config.php
odpowiedzA co do hasła samego WP, to >> https://codex.wordpress.org/Resetting_Your_Password
Dzięki, w końcu udało się uruchomić w całości proces rejestracji – problemem był oczywiście brak wysyłki maila.
odpowiedzDziękuje bardzo pożyteczny wpis. Dobrze że są jeszcze ludzie którzy pokażą inne rozwiązanie niz mail() :)
odpowiedzKolejny raz przy problemie google mnie tu odsyła i kolejny raz wszystko klarownie i przejrzyście wyjaśnione. Dzięki! ;)
odpowiedzArtykuł widać nie pierwszej nowości, a jednak w najnowszym wp pomógł i wszystko działa, jak należy, dzięki ;)
odpowiedzJa mam problem…
Na localhoście wtyczka wysyła maila poprawnie, ale jak już mam strone na FTP to niestety nie chce wysyłać…. a dane są na 100% poprawne.
Jak naprawić ten błąd???
odpowiedzProszę o pomoc i z góry dziękuję
DZIĘKUJĘ!!! od miesięcy zmagałam się z tym problemem
odpowiedzTrafiłem tutaj szukając jak uruchomić formularz na WP. Świetny artykuł Szymon, dzięki niemu uruchomiłem pocztę na moim WordPressie:)
odpowiedzTrafiłem na Twój wpis szukając w sieci jak uruchomić formularz na WP. Świetny artykuł Szymon, dzięki niemu uruchomiłem pocztę na moim WordPressie:)
odpowiedzDodaj własny komentarz