Pourquoi mon PHPMailer me donne-t-il l'erreur « Échec de la connexion SMTP() » ?

Mary-Kate Olsen
Libérer: 2024-10-26 03:11:28
original
867 Les gens l'ont consulté

Why Is My PHPMailer Giving Me the

SMTP connect() a échoué PHPMailer : résolution du problème en PHP

PHPMailer est une bibliothèque PHP populaire pour l'envoi d'e-mails via SMTP. Lorsque vous rencontrez l'erreur « Mailer Error : SMTP connect() failed », cela indique un problème lors de l'établissement d'une connexion avec le serveur SMTP.

Comprendre l'erreur

Le message d'erreur « Mailer Error: SMTP connect() failed » indique que PHPMailer n'a pas pu se connecter au serveur SMTP spécifié. Cela peut être dû à diverses raisons, telles que :

  • Paramètres SMTP incorrects
  • Ports bloqués
  • Problèmes liés au serveur
  • Configurations du pare-feu

Résoudre le problème

Pour résoudre ce problème, suivez ces étapes :

  1. Vérifiez les paramètres SMTP : Assurez-vous que les paramètres SMTP de votre code (hôte, port, nom d'utilisateur et mot de passe) sont corrects.
  2. Vérifiez le blocage des ports : La plupart des serveurs SMTP utilisent les ports 25, 465 ou 587 pour connexions sécurisées. Vérifiez si ces ports sont ouverts sur votre serveur.
  3. Examinez les problèmes de serveur : Contactez votre fournisseur de serveur SMTP pour vous assurer qu'il n'y a pas de pannes ou de problèmes de maintenance liés au serveur.
  4. Configurer le pare-feu : Si un pare-feu est configuré sur votre serveur, assurez-vous qu'il autorise les connexions sortantes sur les ports SMTP nécessaires.

Considérations spécifiques à Gmail SMTP

Si vous utilisez le serveur SMTP de Google avec PHPMailer, n'oubliez pas ce qui suit :

  • Google utilise un mécanisme d'authentification OAuth 2.0 plus récent.
  • Activez « Applications moins sécurisées " dans les paramètres de votre compte Google pour permettre à PHPMailer de se connecter.
  • Utilisez TLS sur le port 587 au lieu de SSL sur le port 465.

Exemple de code avec Google SMTP

Voici une version révisée de votre code qui inclut les modifications nécessaires pour Gmail SMTP :

<code class="php">require "class.phpmailer.php";
$mail = new PHPMailer(); 
$mail->IsSMTP();                              // send via SMTP
$mail->Host = "tls://smtp.gmail.com";
$mail->SMTPAuth = true;                       // turn on SMTP authentication
$mail->Username = "[email protected]";        // SMTP username
$mail->Password = "mypassword";               // SMTP password
$webmaster_email = "[email protected]";       //Reply to this email ID
$email="[email protected]";                // Recipients email ID
$name="My Name";                              // Recipient's name
$mail->From = $webmaster_email;
$mail->Port = 587;
$mail->FromName = "My Name";
$mail->AddAddress($email,$name);
$mail->AddReplyTo($webmaster_email,"My Name");
$mail->WordWrap = 50;                         // set word wrap
$mail->IsHTML(true);                          // send as HTML
$mail->Subject = "subject";
$mail->Body = "Hi,
This is the HTML BODY ";                      //HTML Body 
$mail->AltBody = "This is the body when user views in plain text format"; //Text Body 

if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
?></code>
Copier après la connexion

En mettant en œuvre ces mesures, vous devriez être en mesure de résoudre le problème « Échec de la connexion SMTP() " erreur et envoyez avec succès des e-mails en utilisant PHPMailer.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!