Maison >développement back-end >tutoriel php >Échec de SMTP Connect() dans PHPmailer : comment corriger l'erreur lors de l'envoi d'e-mails avec Google ?

Échec de SMTP Connect() dans PHPmailer : comment corriger l'erreur lors de l'envoi d'e-mails avec Google ?

DDD
DDDoriginal
2024-10-26 04:35:02751parcourir

SMTP Connect() Failed in PHPmailer: How to Fix the Error When Sending Emails with Google?

Échec de SMTP Connect() dans PHPmailer : une solution détaillée

L'envoi d'e-mails à l'aide de PHPmailer peut être une tâche simple, mais vous pouvez parfois rencontrer des erreurs telles que « Erreur de courrier : échec de la connexion SMTP () ». Cette erreur peut se produire lors de la tentative de connexion à un serveur SMTP, généralement en raison d'une configuration incorrecte ou de restrictions de sécurité.

Le problème que vous avez décrit est lié à une modification du mécanisme d'autorisation de Google pour son serveur SMTP. Google utilise désormais l'authentification XOAUTH2, qui nécessite des étapes supplémentaires pour se connecter correctement.

Solution :

  1. Activer l'accès moins sécurisé aux applications :

Visitez https://www.google.com/settings/security/lesssecureapps et activez « Autoriser les applications moins sécurisées ». Cela permet à votre application (PHPmailer) d'interagir avec le serveur SMTP de Google.

  1. Utilisez TLS sur le port 587 :

Au lieu de SSL sur le port 465 , passez à TLS sur le port 587. Il s'agit du protocole recommandé pour l'authentification XOAUTH2.

  1. Configurez PHPmailer :

Dans votre code PHPmailer, faites assurez-vous d'utiliser les paramètres suivants :

  • $mail->IsSMTP() = true;
  • $mail->SMTPDebug = 2; (pour le débogage)
  • $mail->SMTPAuth = true;
  • $mail->SMTPSecure = 'tls';
  • $mail->Host = ' smtp.gmail.com';
  • $mail->Port = 587;
  • $mail->Nom d'utilisateur = 'votre_adresse_e-mail';
  • $mail-> Mot de passe = 'votre_password';

En implémentant ces modifications, votre code PHPmailer devrait pouvoir se connecter avec succès au serveur SMTP et envoyer des e-mails sans l'erreur « Échec de la connexion SMTP() ».

N'oubliez pas de toujours garantir des pratiques de sécurité appropriées, telles que l'activation de l'authentification à deux facteurs pour votre compte de messagerie et la création de mots de passe forts pour le serveur de messagerie.

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