Maison >développement back-end >tutoriel php >Pourquoi mon e-mail PHP envoyé à Gmail échoue-t-il à l'authentification et comment puis-je y remédier ?

Pourquoi mon e-mail PHP envoyé à Gmail échoue-t-il à l'authentification et comment puis-je y remédier ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-04 10:51:33246parcourir

Why is my PHP email sending to Gmail failing authentication, and how can I fix it?

Correction d'un échec d'authentification lors de l'envoi d'un e-mail via le serveur SMTP GMail à partir de PHP

Vous pouvez rencontrer l'erreur d'authentification suivante lors de la tentative d'envoi d'un e-mail en utilisant votre script PHP :

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

Cette erreur se produit généralement lorsque la configuration SMTP spécifiée est incorrecte ou incomplète. Pour résoudre ce problème, vérifiez votre configuration et ajustez-la comme suit :

require_once "Mail.php";

$from = "Sandra Sender <[email&#160;protected]>";
$to = "Ramona Recipient <[email&#160;protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "[email&#160;protected]";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }

En spécifiant ssl:// dans la configuration de l'hôte, vous établissez une connexion SSL sécurisée au serveur SMTP GMail. De plus, vous devez spécifier le bon port pour SSL, qui est 465.

Assurez-vous que votre nom d'utilisateur et votre mot de passe sont corrects. Il doit s'agir de vos informations d'identification GMail.

Une fois que vous avez ajusté votre configuration, votre script PHP devrait pouvoir envoyer des e-mails via le serveur SMTP GMail sans rencontrer l'erreur d'échec d'authentification.

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