Maison >développement back-end >tutoriel php >Connexion SMTP : Pourquoi est-ce que j'obtiens « Échec de la connexion SMTP(). Le message n'a pas été envoyé.\ » ?

Connexion SMTP : Pourquoi est-ce que j'obtiens « Échec de la connexion SMTP(). Le message n'a pas été envoyé.\ » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 17:48:03713parcourir

SMTP Connection: Why am I Getting

Erreur de connexion SMTP : "SMTP Connect() a échoué. Le message n'a pas été envoyé."

Le code PHP fourni pour l'envoi d'e-mails via SMTP rencontre une erreur : "SMTP -> ERREUR : Échec de la connexion au serveur : connexion expirée (110)".

Le problème provient de l'inclusion à la fois de $mail->IsSMTP(); et $mail->Mailer = "smtp"; lignes dans le code. Ces lignes sont redondantes et, lorsqu'elles sont utilisées ensemble, peuvent conduire à des configurations conflictuelles.

Solution :

Pour résoudre l'erreur, suivez la solution fournie et commentez ou supprimez la ligne :

<code class="php">$mail->IsSMTP();</code>

Cette ligne étant supprimée, la classe PHPmailer utilise le paramètre $mail->Mailer pour déterminer la méthode d'envoi des e-mails, qui est SMTP dans ce cas.

Exemple de code :

<code class="php">// require necessary classes
require 'class.phpmailer.php';
require 'class.smtp.php';

// initialize PHPMailer
$mail = new PHPMailer();

// use SMTP
$mail->Mailer = "smtp";

// configure SMTP settings
$mail->SMTPDebug = 2;
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mypasswword";
$mail->Priority = 1;

// set email details
$mail->AddAddress("[email protected]", "Name");
$mail->SetFrom($visitor_email, $name);
$mail->AddReplyTo($visitor_email, $name);

// compose email
$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!

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