“Erreur Smtp: Échec de la connexion au serveur” – Causes et corrections

De nos jours, une option pour envoyer des mails est une exigence de base de toute application Web.

Applications si populaires comme WordPress, Drupal, etc. incluez un programme de messagerie appelé “PHPMailer” pour l’envoi de mails.

Les étapes de configuration de PHPMailer peuvent ne pas être intuitives pour de nombreux propriétaires de sites Web et les erreurs de configuration entraînent souvent une erreur “Erreur Smtp: Échec de la connexion au serveur”.

Dans le cadre de nos services d’assistance, nous aidons les propriétaires de sites Web à résoudre leurs problèmes techniques. Et, le problème de courrier lié à PHPMailer est une erreur que nous voyons souvent.

Dans cet article, nous verrons les principales raisons de “Erreur Smtp: Échec de la connexion” et comment nous les corrigeons.

Qu’est-ce que “Erreur Smtp: Échec de la connexion au serveur”?

Les spammeurs utilisent souvent des scripts php qui se connectent directement à des serveurs distants et envoient des spams.

Pour le défendre, de nombreux hébergeurs bloquent la connexion directe des sites Web aux serveurs de messagerie externes.

Dans de tels serveurs, les mails provenant d’un site Web ne peuvent être envoyés que via son propre port de serveur de messagerie (serveur SMTP), tout comme le fonctionnement d’Outlook ou de Windows Mail.

PHPMailer est une application de messagerie qui fonctionne comme un client de messagerie et permet d’envoyer du courrier via un serveur SMTP.

Mais, PHPMailer ne fonctionne pas hors de la boîte. Il peut échouer en raison de restrictions de pare-feu sur le serveur, d’un nom de serveur de messagerie incorrect, d’un port, etc. et affiche l’erreur:

“Erreur Smtp: Échec de la connexion au serveur”

Et, en fonction de la réponse du serveur de messagerie, nous avons vu 2 variantes de cette erreur :

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

ou

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

Quelles sont les causes de l’ERREUR SMTP: Échec de la connexion au serveur?

Ici, discutons des principales raisons de “ERREUR SMTP: Échec de la connexion au serveur”.

Restrictions SMTP sur le serveur.

Les serveurs restreignent les programmes qui peuvent se connecter directement aux serveurs distants et envoyer du courrier. Habituellement, seul le serveur de messagerie, l’utilisateur root, etc. autoriser les connexions SMTP.

Par exemple, les serveurs cPanel bloquent l’accès aux serveurs SMTP externes à l’aide de l’option ” Restrictions SMTP “.

Avec cette restriction, la connexion de PHPMailer à un serveur de messagerie externe ne fonctionne pas. La connexion attend un certain temps et finit par mourir avec l’erreur suivante:

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

Restrictions de pare-feu sur le serveur

Les serveurs de messagerie acceptent ou rejettent les connexions en fonction de certaines stratégies de pare-feu.

Tous les serveurs de messagerie autorisent la connexion à partir du port de messagerie par défaut 25. Bu, t d’autres ports de messagerie comme 465, 587 etc. ne sera pas ouvert sur de nombreux serveurs.

Sur un serveur avec des restrictions de port de messagerie, lorsqu’un propriétaire de site Web essaie d’envoyer du courrier à l’aide d’un serveur smtp externe sur le port 465, il se retrouve en erreur:

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)

Ici, cette erreur “Connexion refusée” signifie que le serveur de messagerie d’envoi refuse les connexions sortantes sur le port 465 et ne peut pas se connecter au serveur de messagerie distant.

Paramètres incorrects dans PHPMailer

Cette erreur SMTP peut également se produire si le nom du serveur de messagerie n’est pas correctement défini (avec des espaces blancs supplémentaires) dans la configuration de PHPMailer. Ensuite, le formulaire Web tente de se connecter à un nom non valide et échoue.

Échecs DNS

Pour que le PHPMailer fonctionne correctement, le serveur de messagerie spécifié dans sa configuration doit disposer d’enregistrements dns appropriés. Lorsque les dns ne fonctionnent pas sur le serveur, une recherche à partir du serveur affiche une adresse IP incorrecte ou aucune adresse IP pour le serveur de messagerie. Encore une fois, cela provoque l’échec du courrier avec une erreur SMTP.

Comment corriger l’erreur SMTP: Échec de la connexion au serveur

Pour que les mails fonctionnent avec PHPMailer, le serveur d’envoi et de réception doit accepter les connexions.

Nos ingénieurs d’assistance vérifient principalement la connexion entre les serveurs de messagerie et déterminent s’il s’agit d’un bloc entrant ou sortant.

Ensuite, pour corriger l’erreur de messagerie, nous apportons des modifications sur le serveur qui incluent les éléments suivants :

  1. Modifiez les règles du pare-feu sur le serveur pour autoriser les connexions sortantes sur des ports tels que 465.
  2. Modifiez les restrictions SMTP sur le serveur. Ajoutez ensuite un utilisateur de site Web particulier à la liste des utilisateurs pouvant établir des connexions SMTP sortantes.
  3. Modifier les paramètres PHPMailer comme l’hôte, le port, etc.
  4. Résolution DNS correcte pour le serveur de messagerie.

Conclusion

“ERREUR SMTP: Échec de la connexion au serveur” se produit principalement en raison de problèmes de connectivité du serveur de messagerie, de mauvais paramètres de port, etc. Ici, nous avons discuté des causes que nos ingénieurs de support voient souvent dans les serveurs et de la façon dont nous les corrigeons.

Leave a Reply