publikacja: 29 maja 2009, 11:00; autor: Szymon Skulimowski http://wpninja.pl/artykuly/wysylanie-listow-przez-serwer-smtp/

Wysyłanie listów przez serwer SMTP

Wysyłanie listów przez serwer SMTP fot. yorkville

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):

przykladowa-konfiguracja-wtyczki-wp-mail-smtp

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ć:

wysylanie-testowego-maila-przy-uzyciu-wtyczki-wp-mail-smtp

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:

wp-mail-smtp-testowy-mail-nie-zostal-wyslany

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:

wp-mail-smtp-testowy-mail-zostal-wyslany

Testowy mail został poprawnie wysłany

W celu upewnienia się, że wszystko jest cacy można otworzyć skrzynkę pocztową:

wp-mail-smtp-testowy-mail-zostal-wyslany-potwierdzenie

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 :-).

Podobał się artykuł? Dodaj kanał RSS / Atom do swojego czytnika lub zapisz się na bezpłatny newsletter i dołącz do grona stałych czytelników.

Komentarze (45)

  1. Czekaj Jakub Czekaj Jakub 1088 dni temu:

    Ś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.

    odpowiedz
  2. elbi elbi 1088 dni temu:

    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ć?

    odpowiedz
  3. marsjaninzmarsa marsjaninzmarsa 1088 dni temu:

    @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ł… :)

    odpowiedz
  4. SpeX SpeX 1088 dni temu:

    A ja mam podobne pytanie, jak dodać w WP by pod komentarzami było ” Powiadom mnie o nowym komentarzu do tego artykułu.”

    odpowiedz
  5. elbi elbi 1088 dni temu:

    @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/

    odpowiedz
  6. Szymon Skulimowski Szymon Skulimowski 1088 dni temu:

    A ja mam podobne pytanie, jak dodać w WP by pod komentarzami było ” Powiadom mnie o nowym komentarzu do tego artykułu.”

    Napisałem o tym nawet artykuł swojego czasu:
    Powiadamianie czytelników o nowych komentarzach. :-)

    odpowiedz
  7. rysielec rysielec 1088 dni temu:

    Dziękuję! :)

    odpowiedz
  8. Zacol Zacol 1088 dni temu:

    Jak zwykle przydatny artykuł :)

    odpowiedz
  9. Jakub Milczarek Jakub Milczarek 1086 dni temu:

    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ść…

    odpowiedz
  10. Tomir Tomir 1083 dni temu:

    Porządny poradnik. Dziękuję Szymonie. Będę polecał klientom potrzebującym tej funkcjonalności. Adres artykułu już dodałem sobie do Delicious.

    odpowiedz
  11. o90 o90 1081 dni temu:

    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 :)

    odpowiedz
  12. Jacek Krużycki Jacek Krużycki 1081 dni temu:

    @a90: polecam plugin HeadSpace2. Spróbuj z tym.

    odpowiedz
  13. dejavu24 dejavu24 1080 dni temu:

    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

    odpowiedz
  14. Jacek Krużycki Jacek Krużycki 1080 dni temu:

    @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.

    odpowiedz
  15. dejavu24 dejavu24 1080 dni temu:

    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

    odpowiedz
  16. Jacek Krużycki Jacek Krużycki 1080 dni temu:

    @dejavu24: nie ma za co :) Zawsze możesz linka do mnie gdzieś wstawić jak będziesz opisywał ww skrypt ;)

    odpowiedz
  17. Szymon Skulimowski Szymon Skulimowski 1080 dni temu:

    Prosiłbym jednak o pisanie komentarzy na temat artykułu :-). Pytania niezwiązane można przesyłać mailowo lub zamieszczać na polskim forum WordPressa.

    odpowiedz
  18. Jacek Krużycki Jacek Krużycki 1080 dni temu:

    @Szymon: spoko luz :) Ale zawsze to ciekawe tematy na następne wpisy - bo coś ucicha ostatnio ;P

    odpowiedz
  19. dejavu24 dejavu24 1079 dni temu:

    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 :)

    odpowiedz
  20. o90 o90 1079 dni temu:

    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

    odpowiedz
  21. Szymon Skulimowski Szymon Skulimowski 1079 dni temu:

    Komentarze nie na temat będą usuwane. Tfu, tfu..! :-)

    odpowiedz
  22. marsjaninzmarsa marsjaninzmarsa 1076 dni temu:

    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ć…

    odpowiedz
  23. Szymon Skulimowski Szymon Skulimowski 1075 dni temu:

    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 :-).

    odpowiedz
  24. Kamil Lubelski Kamil Lubelski 1071 dni temu:

    Oczywiście działa bez problemu. Nawet wtedy, gdy nie podałem SMTP Host.
    Dzięki :D

    odpowiedz
  25. Gosciu Gosciu 939 dni temu:

    Dzieki, pomoglo ;)

    odpowiedz
  26. verdi verdi 892 dni temu:

    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.

    odpowiedz
  27. Szymon Skulimowski Szymon Skulimowski 883 dni temu:

    Czy problem nie dochodzących maili nie dotyczy przypadkiem skrzynek na wp.pl?

    odpowiedz
  28. Bartusiak Bartusiak 851 dni temu:

    No masz racje, działa to sobie sprawnie;)

    odpowiedz
  29. Robert Robert 821 dni temu:

    Świetny artykuł, dzięki niemu uruchomiłem pocztę na moim wordpressie.

    odpowiedz
  30. Robert Robert 821 dni temu:

    Niestety zgadzam się z Verid - test przeszedł , ale powiadomienia dalej są pchane przez mail() …

    odpowiedz
  31. bartek bartek 813 dni temu:

    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?!?!?!

    odpowiedz
  32. Kamil Lubelski Kamil Lubelski 813 dni temu:

    U mnie z Contact Form 7 idealnie działa, więc zamiast wyzywać od syfu, to najpierw sprawdź jeszcze raz wszystkie ustawienia.

    odpowiedz
  33. bartek bartek 813 dni temu:

    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.

    odpowiedz
  34. bartek bartek 812 dni temu:

    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). :)

    odpowiedz
  35. Kamil Lubelski Kamil Lubelski 812 dni temu:

    Ja mam od samego początku wpisane „[your-name] ” i także działa :)

    odpowiedz
  36. wnuk wnuk 788 dni temu:

    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ć.

    odpowiedz
  37. D. D. 755 dni temu:

    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

    odpowiedz
  38. sioge sioge 670 dni temu:

    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.

    odpowiedz
  39. Szymon Skulimowski Szymon Skulimowski 589 dni temu:

    Jeśli komuś ta wtyczka nie działa (jak mi teraz) to polecam skorzystać z aleternatywy - Configure SMTP.

    odpowiedz
  40. bilety bilety 437 dni temu:

    Możecie polecić jakąś wtyczkę obsługującą newslettera?

    odpowiedz
  41. Szymon Skulimowski Szymon Skulimowski 436 dni temu:

    Mogę polecić wtyczkę Newsletter. Jest też dostępna komercyjna wersja wtyczki, która jest nieco bardziej rozbudowana.

    odpowiedz
  42. lolo lolo 384 dni temu:

    Dzięki , walczyłem z tym problemem z tydzień.… udało się:)

    odpowiedz
  43. Kamil Kamil 321 dni temu:

    Kurcze mam problem - testowy mail wychodzi pięknie. Niestety Subscribe2 już nie działa:/

    odpowiedz
  44. Daggerkra Daggerkra 261 dni temu:

    Wtyczka 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…

    odpowiedz

Dodaj własny komentarz