Problème d'envoi d'e-mails via le serveur SMTP Gmail avec PHP Mailer : erreur "SMTP AUTH est requis"
Lors de la tentative d'envoi d'un e-mail via le Serveur SMTP Gmail utilisant PHP Mailer, vous pouvez rencontrer une erreur indiquant que l'authentification SMTP est nécessaire pour l'envoi de messages sur le port 587. Ce problème peut être résolu en en mettant en œuvre les étapes suivantes :
- Vérifiez l'authentification SMTP :
Assurez-vous que l'indicateur SMTPAuth est défini sur true dans le code PHP Mailer. Cela permettra l'authentification avant d'envoyer l'e-mail.
- Vérifiez la restriction de domaine :
Gmail nécessite une restriction de domaine pour permettre à des domaines spécifiques d'envoyer des e-mails via son serveur SMTP. Assurez-vous que votre domaine (vatandesign.ir) est autorisé à envoyer des e-mails via le compte Gmail que vous utilisez.
- Mettre à jour l'indicateur de sécurité SMTP :
Définissez l'indicateur $mail->SMTPSecure sur 'ssl' ou 'tls' pour établir une connexion sécurisée avec le serveur SMTP Gmail.
- Vérifier la disponibilité SSL :
Confirmer que le serveur SMTP auquel vous essayez de vous connecter prend en charge les connexions SSL. Certains serveurs peuvent ne pas prendre en charge SSL ou TLS.
- Désactiver la vérification en deux étapes :
Pour une sécurité accrue, Google a mis en place une vérification en deux étapes. Désactivez la vérification en deux étapes pour le compte Gmail que vous utilisez pour envoyer l'e-mail.
- Modifiez la valeur de débogage SMTP :
Définissez l'indicateur $mail->SMTPDebug sur 1 ou 2. Cela activera le débogage et fournir des messages d'erreur détaillés.
- Test et dépannage :
Exécutez le code PHP Mailer et surveillez la sortie. Inspectez les messages d'erreur pour déceler tout problème ou avertissement.
- Mettre à jour la configuration du port :
Expérimentez en modifiant la valeur $mail->Port sur 465 ou 587. Différents serveurs peuvent utiliser différents ports. - Contactez votre serveur SMTP :
Si le problème persiste, vous pouvez envisager de contacter le fournisseur du serveur SMTP pour plus d'informations. assistance.
Exemple de code de travail :
Cet exemple de code révisé peut vous aider à résoudre le problème :
$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");
if (!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}
Ce code a été testé et vérifié pour fonctionner. En mettant en œuvre ces suggestions, vous devriez pouvoir envoyer avec succès des e-mails via le serveur SMTP Gmail à l'aide de PHP Mailer.
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