Maison >développement back-end >tutoriel php >Pourquoi est-ce que j'obtiens un échec d'authentification lors de l'envoi d'e-mails via le serveur SMTP de Gmail depuis PHP ?

Pourquoi est-ce que j'obtiens un échec d'authentification lors de l'envoi d'e-mails via le serveur SMTP de Gmail depuis PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-20 00:23:08367parcourir

Why Am I Getting an Authentication Failure When Sending Emails via Gmail's SMTP Server from PHP?

Impossible d'envoyer un e-mail via le serveur SMTP de GMail ?

Lorsque vous essayez d'envoyer des e-mails via le serveur SMTP de GMail à partir d'une page PHP, vous pouvez rencontrer l'erreur :

échec d'authentification [SMTP : le serveur SMTP ne prend pas en charge l'authentification (code : 250, réponse : mx.google.com à votre service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

Cette erreur se produit souvent lorsque le code PHP ne dispose pas des paramètres SSL corrects. Voici comment résoudre le problème :

Code PHP corrigé :

<br>// Bibliothèque de courrier Pear<br>require_once "Mail.php" ;</p>
<p>$de = '<[email protected]>';<br>$to = '<[email protected]>';<br>$subject = 'Salut !';<br>$body = "Salut,nnComment vont toi?";</p>
<p>$headers = array(</p>
<pre class="brush:php;toolbar:false">'From' => $from,
'To' => $to,
'Subject' => $subject

);

$smtp = Mail::factory('smtp', array(

    'host' => 'ssl://smtp.gmail.com',
    'port' => '465',
    'auth' => true,
    'username' => '[email&#160;protected]',
    'password' => 'passwordxxx'
));

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

if (PEAR::isError($mail)) {

echo('<p>' . $mail->getMessage() . '</p>');

} autre {

echo('<p>Message successfully sent!</p>');

}

Différences clés :

  • L'hôte inclut désormais ssl:// indiquant un connexion sécurisée.
  • Le port est remplacé par 465, qui est le port SSL standard.

En mettant en œuvre ces modifications, vous garantirez un cryptage SSL approprié et éviterez 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