Impossible d'envoyer un e-mail via le serveur SMTP de Gmail avec PHPMailer : résolution du problème d'authentification SMTP
Lorsque vous essayez d'utiliser le serveur SMTP de Gmail pour transmettre des e-mails à l'aide PHPMailer, vous pouvez rencontrer l'erreur « SMTP AUTH est requis pour l'envoi de messages sur le port 587. » Cette erreur indique la nécessité d'une authentification avant d'envoyer des e-mails. Voici comment résoudre ce problème :
Pour remédier à ce problème, les modifications suivantes sont nécessaires :
$mail = new PHPMailer(); // New PHPMailer object $mail->IsSMTP(); // Enable SMTP protocol $mail->SMTPDebug = 1; // For debugging (log errors and messages) $mail->SMTPAuth = true; // Enable SMTP authentication $mail->SMTPSecure = 'ssl'; // Utilize Secure Socket Layer (SSL) for secure transmission (required for Gmail) $mail->Host = "smtp.gmail.com"; $mail->Port = 465; // Or 587 depending on server settings $mail->IsHTML(true); // Allow HTML-formatted emails $mail->Username = "johndoe@gmail.com"; // Your Gmail username $mail->Password = "mysecretpassword"; // Your Gmail password $mail->SetFrom("sender@gmail.com"); // Set sender address $mail->Subject = "Test Email"; $mail->Body = "Hello from PHPMailer!"; $mail->AddAddress("recipient@gmail.com"); // Add recipient address if (!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Email sent successfully!"; }
Considérations clés :
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!