Data

9.10.2018

Autor wpisu

Tomasz Jeziorski

Tomasz Jeziorski

Należysz do grona osób, których strona WWW funkcjonuje w oparciu CMS WordPress, a przy tym wykorzystujesz wtyczkę Contact Form do generowania formularzy kontaktowych? W takim razie być może spotkałeś problem niewysyłających się wiadomości. Jeśli tak, to mamy dla Ciebie dobrą wiadomość – dziś podpowiemy Ci, jak poradzić sobie z tym kłopotem. Startujemy!
 

Wtyczka Contact Form

Contact Form to wtyczka, która umożliwia nam tworzenie formularza kontaktowego. To obecnie najpopularniejsze rozwiązanie kontaktowe i nic dziwnego – jest łatwe w obsłudze, a przy tym stwarza użytkownikowi sporo możliwości, Co więcej, występuje wiele darmowych rozszerzeń, dzięki czemu możesz jeszcze bardziej podnieść efektywność i funkcjonalność narzędzia.

Niestety czasami, pomimo prawidłowej instalacji, użytkownicy nie potrafią wysłać maila z formularzy. Na pierwszy rzut oka, wszystko wydaje się być w porządku – wypełniamy wymagane pola, prawidłowo wprowadzamy dane, a pomimo to… naszym oczom ukazuje się komunikat podobny do tego:

Wiadomość nie została wysłana. Spróbuj ponownie.

Gdzie zatem leży przyczyna?

Rozwiązanie problemu? Oto one!

W dużym skrócie – problem tkwi w funkcji, która wysyła formularz. Bez dodatkowych wtyczek, Contact Form korzysta ze standardowej funkcji PHP mail(). Trudność polega jednak na tym, że u niektórych hostingodawców (typu home.pl) jest ona z rożnych względów blokowana (np. bezpieczeństwa) i nie można z niej skorzystać.

Co więc należy zrobić?

Przede wszystkim – wykorzystać funkcję SMTP() do wysyłania maili za pomocą formularzy kontaktowych na stronie WWW. W pierwszym kroku zakładamy więc maila w stylu no-replay@nazwadomeny.pl, który będzie odpowiadał za wysyłkę. Następnie, w panelu WordPress instalujemy wtyczkę o nazwie Easy SMTP WP, włączamy ją i przechodzimy do konfiguracji.
W zakładce Ustawienia -> SMTP Settings uzupełniamy pola:

  • From Email Address – czyli wpisujemy tutaj nasz utworzony adres typu no-replay@nazwadomeny.pl,
  • From Name – wpisujemy nazwę nadawcy, jaka ma się wyświetlać,
  • SMTP Host – wpisujemy adres serwera SMTP poczty,
  • Type of Encryption oraz SMTP Port – wybieramy odpowiedni dla naszej poczty port oraz typ szyfrowania,
  • SMTP Authentication – wybieramy YES,
  • SMTP Username – wpisujemy adres maila typu no-replay@nazwadomeny.pl lub samą nazwę typu no-replay (w zależności od serwera),
  • SMTP Password – hasło do maila.

ContactForm: formularz na mojej stronie WWW nie wysyła wiadomości

Przykładowy screen z konfiguracji wtyczki Easy SMTP WP

Całość oczywiście zapisujemy i przechodzimy do zakładki „Test Email”. Tam wpisujemy swojego maila jako nadawcę, uzupełniamy przykładowy temat i treść, a następnie wysyłamy testową wiadomość. Jeśli skrypt podsunie nam komunikat jak na poniższym screenie – że wiadomość udało się poprawnie wysłać – oznacza to, że wszystko wykonaliśmy prawidłowo. Jeśli jednak pojawią się jakieś błędy, trzeba będzie poszukać przyczyny problemu i sprawdzić, czy na pewno wprowadziliśmy prawidłowy adres serwera SMTP czy też portu. W razie problemów nie zaszkodzi podpytać także hostingodawcę o prawidłowe parametry.

ContactForm: formularz na mojej stronie WWW nie wysyła wiadomości

Screen: wiadomość testową udało się poprawnie wysłać.

Efekt?

Od teraz formularze na Waszych stronach WWW – po prawidłowym wypełnieniu przez użytkowników – powinny bez problemu się wysyłać i trafiać prosto na zdeklarowaną w ustawieniach skrzynkę adresata.

Przyznajemy – małe rzeczy nastręczają zazwyczaj największych kłopotów. W adencji szukamy jednak optymalnych rozwiązań, dzięki którym nawet skomplikowane trudności rozwiążesz szybko, łatwo i, co najważniejsze, skutecznie. W razie jakichkolwiek dodatkowych pytań, zapraszamy do kontaktu pod adresem – biuro@adencja.pl.