recherche

Maison  >  Questions et réponses  >  le corps du texte

PHPMailer : Erreur SMTP : Impossible de se connecter à l'hôte SMTP

J'ai utilisé PHPMailer sur plusieurs projets, mais maintenant je suis bloqué. Cela m'a donné l'erreur :

Erreur SMTP : impossible de se connecter à l'hôte SMTP.

J'ai essayé d'envoyer des e-mails depuis Thunderbird et cela a fonctionné ! Mais pas via PHPMailer... Voici les paramètres pour Thunderbird :

Server Nom: Mail.exampleServer.com

Port: 587

Nom d'utilisateur: user@exampleServer.com

Authentification de sécurité: Non-Connexion Sécurité: starttls

Je les ai comparés au serveur de mon dernier projet utilisant PHPMailer et ce sont :

Nom du serveur : mail.exampleserver2.com

Port : 465

Nom d'utilisateur : user@exampleserver2.com

Authentification sécurisée : Non

Sécurité de la connexion : SSL/TLS

Mon code php est :

$mail = new PHPMailer();
 $mail->IsSMTP(); // send via SMTP
 $mail->Host = SMTP_HOST; // SMTP servers
 $mail->Port = SMTP_PORT; // SMTP servers
 $mail->SMTPAuth = true; // turn on SMTP authentication
 $mail->Username = SMTP_USER; // SMTP username
 $mail->Password = SMTP_PASSWORD; // SMTP password
 $mail->From = MAIL_SYSTEM;
 $mail->FromName = MAIL_SYSTEM_NAME;
 $mail->AddAddress($aSecuredGetRequest['email']);
 $mail->IsHTML(true); // send as HTML
Où est-ce que je me suis trompé ?

P粉990008428P粉990008428442 Il y a quelques jours793

répondre à tous(1)je répondrai

  • P粉352408038

    P粉3524080382023-10-13 14:23:02

    Comme cette question revient si fréquemment dans Google, je voulais partager ici ma solution pour une situation où PHP vient d'être mis à niveau vers la version 5.6 (qui a un comportement SSL plus strict).

    Le wiki PHPMailer a une section à ce sujet :

    https://github.com/PHPMailer/ PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure

    Les solutions de contournement suggérées incluent le code suivant :

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

    Cela devrait fonctionner avec PHPMailer 5.2.10 (et supérieur).

    REMARQUE : Apparemment, comme suggéré dans ce wiki, cela devrait être une solution temporaire !

    répondre
    0
  • Annulerrépondre