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
Libérer: 2024-10-21 17:48:03
original
778 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal