“SMTP error: Failed to connect to server” – Causes and Fixes

w dzisiejszych czasach opcja wysyłania wiadomości e-mail jest podstawowym wymogiem każdej aplikacji internetowej.

tak popularne aplikacje jak WordPress, Drupal itp. Dołącz program pocztowy o nazwie “PHPMailer” do wysyłania maili.

kroki konfiguracji PHPMailer mogą nie być intuicyjne dla wielu właścicieli witryn, a błędy w konfiguracji często powodują Błąd “SMTP error: Failed to connect to server”.

w ramach naszych usług wsparcia pomagamy właścicielom witryn rozwiązać ich problemy techniczne. A problem z pocztą związany z PHPMailer jest błędem, który często widzimy .

w tym artykule zobaczymy najważniejsze przyczyny “Smtp error: Failed to connect” i jak je naprawiamy.

co to jest “Błąd Smtp: nie udało się połączyć z serwerem”?

spamerzy często używają skryptów php, które bezpośrednio łączą się ze zdalnymi serwerami i wysyłają spam.

aby tego bronić, wielu dostawców hostingu blokuje bezpośrednie połączenie ze stron internetowych do zewnętrznych serwerów pocztowych.

na takich serwerach wiadomości ze strony internetowej mogą być wysyłane tylko przez własny port serwera pocztowego (serwer SMTP), tak jak działa Outlook lub Windows Mail.

PHPMailer to aplikacja pocztowa, która działa jak klient poczty i pomaga wysyłać pocztę przez serwer SMTP.

ale PHPMailer nie działa po wyjęciu z pudełka. Może się nie udać z powodu ograniczeń zapory na serwerze, błędnej nazwy serwera pocztowego, portu itp. i pokazuje błąd:

“Błąd Smtp: nie udało się połączyć z serwerem”

i, w zależności od odpowiedzi z serwera pocztowego, widzieliśmy 2 odmiany tego błędu :

SMTP ERROR: Failed to connect to server: Connection refused (111)

lub

SMTP ERROR: Failed to connect to server: Connection timed out (110)

co powoduje Błąd SMTP: nie udało się połączyć z serwerem ?

tutaj omówmy najważniejsze przyczyny “SMTP ERROR: Failed to connect to server”.

ograniczenia SMTP na serwerze.

Serwery ograniczają programy, które mogą bezpośrednio łączyć się z serwerami zdalnymi i wysyłać pocztę. Zwykle tylko serwer pocztowy, użytkownik root itp. Zezwalaj na połączenia SMTP.

na przykład serwery CPanel blokują dostęp do zewnętrznych serwerów SMTP za pomocą opcji “ograniczenia SMTP”.

z tym ograniczeniem połączenie z PHPMailer do zewnętrznego serwera pocztowego nie działa. Połączenie czeka przez jakiś czas i ostatecznie umiera z następującym błędem:

2018-10-12 04:12:37 SMTP ERROR: Failed to connect to server: Connection timed out (110)SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/TroubleshootingOops! Something went wrong and we couldn't send your message.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

ograniczenia zapory na serwerze

Serwery Pocztowe akceptują lub odrzucają połączenia na podstawie określonych zasad zapory.

Wszystkie serwery pocztowe umożliwiają połączenie z domyślnego portu pocztowego 25. Bu, t inne porty pocztowe, takie jak 465, 587 itp. nie będzie otwarty na wielu serwerach.

na serwerze z ograniczeniami portu poczty, gdy właściciel witryny próbuje wysłać pocztę za pomocą zewnętrznego serwera smtp na porcie 465, kończy się to błędem:

2018-08-28 10:33:12 Connection: Failed to connect to server. Error number 2. "Error notice: stream_socket_client(): unable to connect to ssl://mail.xyz.com:465 (Connection refused)2018-08-28 10:33:12 SMTP ERROR: Failed to connect to server: Connection refused (111)

w tym przypadku błąd “Odmowa połączenia” oznacza, że serwer pocztowy odmawia połączenia wychodzącego na porcie 465 i nie jest w stanie połączyć się ze zdalnym serwerem pocztowym.

nieprawidłowe ustawienia w PHPMailer

ten Błąd SMTP może również wystąpić, jeśli nazwa serwera pocztowego jest nieprawidłowo ustawiona (z dodatkową białą spacją) w konfiguracji PHPMailer. Następnie web form próbuje połączyć się z nieprawidłową nazwą i nie udaje się.

błędy DNS

aby PHPMailer działał poprawnie, serwer pocztowy określony w jego konfiguracji powinien mieć odpowiednie rekordy dns. Gdy dns nie działa na serwerze, wyszukiwanie z serwera pokazuje nieprawidłowy adres IP lub brak adresu IP dla serwera pocztowego. Ponownie, powoduje to niepowodzenie poczty z błędem SMTP.

jak naprawić Błąd SMTP: nie udało się połączyć z serwerem

aby wiadomości działały z PHPMailer, zarówno serwer wysyłający, jak i odbierający musi akceptować połączenia.

Nasi inżynierowie wsparcia przede wszystkim sprawdzają połączenie między serwerami pocztowymi i sprawdzają, czy jest to blok przychodzący, czy wychodzący.

następnie, aby naprawić błąd poczty, wprowadzamy zmiany na serwerze, które zawierają następujące :

  1. zmodyfikuj reguły zapory na serwerze, aby umożliwić połączenia wychodzące na portach takich jak 465.
  2. zmodyfikuj ograniczenia SMTP na serwerze. Następnie dodaj konkretnego użytkownika witryny do listy użytkowników, którzy mogą wykonywać wychodzące połączenia SMTP.
  3. Edytuj ustawienia PHPMailer, takie jak Host, Port itp.
  4. poprawna rozdzielczość DNS dla serwera pocztowego.

wniosek

“Błąd SMTP: nie udało się połączyć z serwerem” dzieje się głównie z powodu problemów z łącznością z serwerem pocztowym, niewłaściwych ustawień portów itp. Tutaj omówiliśmy przyczyny, które nasi inżynierowie wsparcia często widzą w serwerach i jak je naprawiamy.

Leave a Reply