Maison >développement back-end >tutoriel php >Pourquoi mon PHPMailer ne peut-il pas se connecter à l'hôte SMTP ?

Pourquoi mon PHPMailer ne peut-il pas se connecter à l'hôte SMTP ?

DDD
DDDoriginal
2024-12-13 12:56:15655parcourir

Why Can't My PHPMailer Connect to the SMTP Host?

Comment résoudre « Erreur SMTP : Impossible de se connecter à l'hôte SMTP » de PHPMailer

PHPMailer, une bibliothèque PHP largement utilisée pour l'envoi d'e-mails, rencontre parfois le message d'erreur « Erreur SMTP : Impossible de se connecter à l'hôte SMTP ». Cette erreur se produit généralement lorsque PHPMailer ne parvient pas à établir une connexion avec le serveur SMTP spécifié dans les paramètres d'hôte et de port.

Pour résoudre ce problème, il est crucial de comparer les paramètres SMTP utilisés par PHPMailer à ceux utilisés par un client de messagerie connu comme Thunderbird. Dans ce cas, les paramètres de Thunderbird sont :

  • Nom du serveur : mail.exampleserver.com
  • Port : 587
  • Nom d'utilisateur : [email protégé]
  • Authentification sécurisée : Non
  • Sécurité de la connexion : STARTTLS

Ensuite, assurez-vous que le code PHP est correctement configuré pour les paramètres SMTP. L'exemple de code fourni semble correct, mais assurez-vous de vérifier les éléments suivants :

  • Hôte : définissez-le sur "mail.exampleserver.com" ou sur l'adresse du serveur SMTP fournie par votre fournisseur de messagerie.
  • Port : définissez-le sur 587.
  • SMTPAuth : définissez-le sur true pour activer SMTP authentification.
  • Nom d'utilisateur : définissez-le sur votre adresse e-mail (par exemple, [email protected]).
  • Mot de passe : définissez-le sur le mot de passe associé à votre adresse e-mail.

Si les paramètres SMTP sont corrects et que le problème persiste, envisagez la solution suivante :

Mise à jour de la version PHP pour Certification SSL

Si vous avez récemment mis à niveau PHP vers la version 5.6, un comportement SSL plus strict peut avoir été implémenté. La documentation de PHPMailer suggère une solution de contournement :

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

Remarque : Cette solution n'est qu'un correctif temporaire et doit être remplacée par un correctif approprié tel que le remplacement des certificats invalides ou auto-signés par des certificats valides. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn