publikacja: 29 maja 2009, autor: , komentarzy 71 https://wpninja.pl/artykuly/wysylanie-listow-przez-serwer-smtp/

Wysyłanie listów przez serwer SMTP


Warning: Trying to access array offset on false in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/functions.php on line 159
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 :-).

tagi: ,

Komentarze

  1. Czekaj Jakub 15 lat 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 15 lat 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 15 lat 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 15 lat 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 15 lat temu:

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

    odpowiedz
  6. Szymon Skulimowski 15 lat 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 15 lat temu:

    Dziękuję! :)

    odpowiedz
  8. Zacol 15 lat temu:

    Jak zwykle przydatny artykuł :)

    odpowiedz
  9. Jacek Krużycki 15 lat temu:

    Ja również opisałem plugin do powiadomień o odpowiedziach na komentarz + dodatek do niego :)

    odpowiedz
  10. Jakub Milczarek 15 lat 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
  11. Tomir 15 lat 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
  12. o90 15 lat 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
  13. Jacek Krużycki 15 lat temu:

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

    odpowiedz
  14. dejavu24 15 lat 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
  15. Jacek Krużycki 15 lat 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
  16. dejavu24 15 lat 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
  17. Jacek Krużycki 15 lat temu:

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

    odpowiedz
  18. Szymon Skulimowski 15 lat 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
  19. Jacek Krużycki 15 lat temu:

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

    odpowiedz
  20. dejavu24 15 lat 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
  21. o90 15 lat 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
  22. Szymon Skulimowski 15 lat temu:

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

    odpowiedz
  23. marsjaninzmarsa 15 lat 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
  24. Szymon Skulimowski 15 lat 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
  25. Kamil Lubelski 15 lat temu:

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

    odpowiedz
  26. Gosciu 15 lat temu:

    Dzieki, pomoglo ;)

    odpowiedz
  27. verdi 15 lat 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
  28. Szymon Skulimowski 15 lat temu:

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

    odpowiedz
  29. Bartusiak 15 lat temu:

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

    odpowiedz
  30. Robert 15 lat temu:

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

    odpowiedz
  31. Robert 15 lat temu:

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

    odpowiedz
  32. bartek 15 lat 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
  33. Kamil Lubelski 15 lat temu:

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

    odpowiedz
  34. bartek 15 lat 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
  35. bartek 15 lat 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
  36. Kamil Lubelski 15 lat temu:

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

    odpowiedz
  37. wnuk 15 lat 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
  38. D. 15 lat 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
  39. sioge 14 lat 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
  40. Szymon Skulimowski 14 lat temu:

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

    odpowiedz
  41. bilety 14 lat temu:

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

    odpowiedz
    1. Szymon Skulimowski 14 lat temu:

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

      odpowiedz
  42. lolo 14 lat temu:

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

    odpowiedz
  43. Kamil 13 lat temu:

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

    odpowiedz
  44. Daggerkra 13 lat 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
    1. Paweł Knapek 11 lat temu:

      Jest to jak najbardziej poprawne i normalne.
      Od tego jest przecież nagłówek Reply-to.
      W CF7 dodajesz sobie dodatkowy nagłówek

      Reply-To: [your-email]

      -i odpowiedź będzie szła tam, gdzie należy.

      odpowiedz
  45. Kajoko 12 lat temu:

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

    odpowiedz
    1. Szymon Skulimowski 12 lat temu:

      Jakiej wtyczki używasz w formularzu kontaktowym?

      odpowiedz
    2. Kajoko 12 lat temu:

      Wtyczka była zakupiona razem z motywem strona http://kuriermiastecki.pl/wordpress3/

      odpowiedz
    3. Szymon Skulimowski 12 lat temu:

      Może skrypt nie korzysta z wbudowanej funkcji WP (wp_mail)?

      odpowiedz
  46. Praktyk 12 lat temu:

    A co jeśli otrzymamy wartość true, a po wejściu na skrzynkę maila nie ma?

    odpowiedz
    1. Szymon Skulimowski 12 lat temu:

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

      odpowiedz
  47. Robert 12 lat temu:

    Witam,
    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.
    Jakie ustawienia trzeba jeszcze zmienić?

    odpowiedz
    1. Paweł Knapek 11 lat temu:

      Wyłączony ssl na serwerze, najprościej zagadać do admina hostingu.

      odpowiedz
  48. Ola 11 lat temu:

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

    odpowiedz
    1. Szymon Skulimowski 11 lat temu:

      Jest jeszcze inna wtyczka o podobnym działaniu – WP SMTP – próbowałaś może?

      odpowiedz
    2. Anonim 11 lat temu:

      Pró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.

      odpowiedz
    3. Szymon Skulimowski 11 lat temu:

      Pró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.

      odpowiedz
  49. Jacek 11 lat temu:

    Nie 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

    odpowiedz
    1. elgo 11 lat temu:

      A pamiętasz hasło do bazy – tam można zmienić hasło.

      odpowiedz
    2. Jacek 11 lat temu:

      a jak wejść w bazę

      odpowiedz
    3. elgo 11 lat temu:

      Nie ma co się rozpisywać ale po wpisaniu w google „odzyskiwanie hasla w wordpress” dostaniesz wiele obrazkowych i nie tylko odpowiedzi ;)

      odpowiedz
    4. Paweł Knapek 11 lat temu:

      Hasło do bazy jest w pliku wp-config.php
      A co do hasła samego WP, to >> https://codex.wordpress.org/Resetting_Your_Password

      odpowiedz
  50. Renton 11 lat temu:

    Dzięki, w końcu udało się uruchomić w całości proces rejestracji – problemem był oczywiście brak wysyłki maila.

    odpowiedz
  51. Michał 11 lat temu:

    Dziękuje bardzo pożyteczny wpis. Dobrze że są jeszcze ludzie którzy pokażą inne rozwiązanie niz mail() :)

    odpowiedz
  52. Kamil 11 lat temu:

    Kolejny raz przy problemie google mnie tu odsyła i kolejny raz wszystko klarownie i przejrzyście wyjaśnione. Dzięki! ;)

    odpowiedz
  53. Adrian 10 lat temu:

    Artykuł widać nie pierwszej nowości, a jednak w najnowszym wp pomógł i wszystko działa, jak należy, dzięki ;)

    odpowiedz
  54. natsukiss 9 lat temu:

    Ja 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???
    Proszę o pomoc i z góry dziękuję

    odpowiedz
  55. ajlin.pl 9 lat temu:

    DZIĘKUJĘ!!! od miesięcy zmagałam się z tym problemem

    odpowiedz
  56. Anonim 7 lat temu:

    Trafiłem tutaj szukając jak uruchomić formularz na WP. Świetny artykuł Szymon, dzięki niemu uruchomiłem pocztę na moim WordPressie:)

    odpowiedz
  57. Anonim 7 lat temu:

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

    odpowiedz

Dodaj własny komentarz


Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 95