Data
9.10.2018
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.
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.
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.