“Smtp error: Failed to connect to server” – Cause e correzioni

In questi giorni, un’opzione per inviare mail è un requisito di base di qualsiasi applicazione web.

Applicazioni così popolari come WordPress, Drupal ecc. includere un programma di posta chiamato “PHPMailer” per l’invio di mail.

I passaggi per configurare PHPMailer potrebbero non essere intuitivi per molti proprietari di siti web e gli errori nella configurazione spesso causano l’errore “Smtp error: Failed to connect to server” error.

Come parte dei nostri servizi di supporto, aiutiamo i proprietari di siti web a risolvere i loro problemi tecnici. E il problema della posta relativo a PHPMailer è un errore che vediamo spesso .

In questo articolo, vedremo i principali motivi di “Errore Smtp: impossibile connettersi” e come risolverli.

Che cos’è “Errore Smtp: connessione al server non riuscita”?

Gli spammer usano spesso script php che si connettono direttamente a server remoti e inviano messaggi di spam.

Per difendere questo, molti provider di hosting Web bloccano la connessione diretta dai siti Web ai server di posta esterni.

In tali server, le mail dal sito Web possono essere inviate solo tramite il proprio server di posta (server SMTP), proprio come funziona Outlook o Windows Mail.

PHPMailer è un’applicazione di posta che funziona come un client di posta e aiuta a inviare posta tramite server SMTP.

Ma, PHPMailer non funzionano fuori dalla scatola. Può fallire a causa di restrizioni del firewall sul server, nome del server di posta errato,porta ecc. e mostra l’errore:

“Errore Smtp: Impossibile connettersi al server”

E, a seconda della risposta dal server di posta, abbiamo visto 2 variazioni di questo errore :

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

o

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

Quali sono le cause dell’ERRORE SMTP: impossibile connettersi al server ?

Qui, discutiamo i motivi principali per “ERRORE SMTP: impossibile connettersi al server”.

Restrizioni SMTP sul server.

I server limitano i programmi che possono connettersi direttamente ai server remoti e inviare posta. Di solito, solo server di posta, utente root ecc. consenti connessioni SMTP.

Ad esempio, i server cPanel bloccano l’accesso ai server SMTP esterni utilizzando l’opzione “Restrizioni SMTP”.

Con questa restrizione, la connessione da PHPMailer a un server di posta esterno non funziona. La connessione aspetta un po di tempo e alla fine muore con il seguente errore:

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

Restrizioni del firewall sul server

I server di posta accettano o rifiutano le connessioni in base a determinati criteri del firewall.

Tutti i server di posta consentono la connessione dalla porta di posta predefinita 25. Bu, t altre porte di posta come 465, 587 ecc. non sarà aperto in molti server.

Su un server con porta e-mail restrizioni, quando il proprietario di un sito web tenta di inviare posta utilizzando un server smtp esterno su porta 465, termina in errore:

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)

Qui, in questo “Connection Refused” significa che l’invio di mail server rifiuta le connessioni in uscita sulla porta 465 e non è in grado di connettersi al server di posta remoto.

Impostazioni errate in PHPMailer

Questo errore SMTP può verificarsi anche se il nome del server di posta è impostato in modo errato (con spazio bianco aggiuntivo) nella configurazione di PHPMailer. Quindi, il modulo Web tenta di connettersi a un nome non valido e non riesce.

Errori DNS

Affinché PHPMailer funzioni correttamente, il server di posta specificato nella sua configurazione deve disporre di record dns appropriati. Quando dns non funzionano sul server, uno sguardo dal server mostra indirizzo IP errato o nessun indirizzo IP per il server di posta. Ancora una volta, ciò causa il fallimento della posta con l’errore SMTP.

Come correggere l’errore SMTP: Impossibile connettersi al server

Per le mail che funzionano con PHPMailer, sia il server di invio che quello di ricezione devono accettare le connessioni.

I nostri tecnici di supporto controllano principalmente la connessione tra i server di posta e scoprono se si tratta di un blocco in entrata o in uscita.

Quindi, per correggere l’errore di posta, apportiamo modifiche sul server che include quanto segue :

  1. Modificare le regole del firewall sul server per consentire connessioni in uscita su porte come 465.
  2. Modificare le restrizioni SMTP sul server. Quindi, aggiungere un particolare utente del sito Web all’elenco degli utenti che possono effettuare connessioni SMTP in uscita.
  3. Modifica le impostazioni di PHPMailer come Host, Porta ecc.
  4. Risoluzione DNS corretta per il server di posta.

Conclusione

“ERRORE SMTP: impossibile connettersi al server” si verifica principalmente a causa di problemi di connettività del server di posta, impostazioni della porta errate ecc. Qui, abbiamo discusso le cause che i nostri ingegneri di supporto spesso vedono nei server e come li risolviamo.

Leave a Reply