Maison >développement back-end >tutoriel php >Comment corriger l'erreur « Échec de la connexion SMTP() » lors de l'envoi d'e-mails via Gmail ?
Échec de la connexion SMTP : résolution de l'erreur « Échec de la connexion SMTP() »
En essayant d'envoyer des e-mails à l'aide de Gmail, vous pouvez rencontrer une erreur message indiquant "SMTP -> ERREUR : Échec de la connexion au serveur : Délai de connexion expiré (110) Échec de nSMTP Connect(). Le message n'a pas été envoyé. Erreur nMailer : Échec de SMTP Connect()." Cette erreur indique un problème d'établissement d'une connexion au serveur SMTP.
Pour résoudre ce problème, vous devez modifier le code PHP chargé de l'envoi des emails. Plus précisément, supprimez ou commentez la ligne :
<code class="php">$mail->IsSMTP();</code>
La méthode IsSMTP() est obsolète et ne doit pas être utilisée. En supprimant ou en commentant cette ligne, le code utilisera automatiquement SMTP pour l'envoi d'e-mails, éliminant ainsi le problème de connexion et permettant une livraison réussie des e-mails.
Voici le code mis à jour avec la modification :
<code class="php">require 'class.phpmailer.php'; // path to the PHPMailer class require 'class.smtp.php'; $mail = new PHPMailer(); $mail->Mailer = "smtp"; $mail->Host = "ssl://smtp.gmail.com"; $mail->Port = 587; $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = "[email protected]"; // SMTP username $mail->Password = "mypasswword"; // SMTP password $Mail->Priority = 1; $mail->AddAddress("[email protected]","Name"); $mail->SetFrom($visitor_email, $name); $mail->AddReplyTo($visitor_email,$name); $mail->Subject = "Message from Contact form"; $mail->Body = $user_message; $mail->WordWrap = 50; if(!$mail->Send()) { echo 'Message was not sent.'; echo 'Mailer error: ' . $mail->ErrorInfo; } else { echo 'Message has been sent.'; }</code>
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!