Maison > développement back-end > tutoriel php > Pourquoi est-ce que j'obtiens des échecs d'authentification SMTP Gmail dans mon code PHP ?

Pourquoi est-ce que j'obtiens des échecs d'authentification SMTP Gmail dans mon code PHP ?

Linda Hamilton
Libérer: 2024-12-31 19:09:09
original
262 Les gens l'ont consulté

Why Am I Getting Gmail SMTP Authentication Failures in My PHP Code?

Impossible d'envoyer un e-mail via le serveur SMTP GMail : échec d'authentification

Une tentative d'envoi d'un e-mail via le serveur SMTP de GMail à partir d'une page PHP entraîne souvent des résultats dans une erreur d’échec d’authentification, laissant les utilisateurs frustrés. Le code PHP fourni est particulièrement vulnérable à ce problème, car il semble manquer de paramètres de configuration essentiels.

Pour résoudre ce problème, la configuration PHP correcte est cruciale. Le code doit inclure les paramètres suivants :

  • Cryptage SSL : Gmail SMTP nécessite une connexion sécurisée, le paramètre 'host' doit donc être défini sur 'ssl://smtp. gmail.com'. Cela active le cryptage SSL, garantissant une transmission sécurisée des données.
  • Configuration du port : Le paramètre « port » doit être défini sur « 465 », car il s'agit du port désigné pour SMTP sur SSL.
  • Bibliothèque de courrier PHP mise à jour : Assurez-vous d'utiliser la dernière version de la bibliothèque de courrier PHP (PEAR Mail) pour bénéficier de ses fonctionnalités améliorées et corrections de bugs.

Voici le code PHP mis à jour qui résout le problème d'échec d'authentification en incorporant ces paramètres essentiels :

// Pear Mail Library
require_once "Mail.php";

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

$headers = array(
    '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>');
} else {
    echo('<p>Message successfully sent!</p>');
}
?>
Copier après la connexion

En implémentant ces modifications, votre script PHP devrait désormais pouvoir pour envoyer des e-mails via le serveur SMTP de GMail sans rencontrer d'échecs 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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal