Maison > développement back-end > tutoriel php > Pourquoi mon e-mail PHP envoyé via le serveur SMTP de Gmail échoue-t-il et comment puis-je le réparer à l'aide de la bibliothèque Pear Mail ?

Pourquoi mon e-mail PHP envoyé via le serveur SMTP de Gmail échoue-t-il et comment puis-je le réparer à l'aide de la bibliothèque Pear Mail ?

Mary-Kate Olsen
Libérer: 2024-12-21 09:51:10
original
961 Les gens l'ont consulté

Why is my PHP email sent via Gmail's SMTP server failing, and how can I fix it using the Pear Mail library?

Envoi d'e-mails avec le serveur SMTP de GMail à partir de PHP

Problème :
Lors de la tentative d'envoi d'un e-mail à l'aide SMTP de GMail à partir d'une page PHP, une erreur se produit, indiquant un échec d'authentification dans SMTP.

Solution :

Le code fourni utilise la bibliothèque Pear Mail, ce qui nécessite des ajustements pour le SMTP de GMail :

  1. Définissez le protocole sur SSL : Modifiez la ligne hôte pour inclure « ssl:// » avant 'smtp.gmail.com'.
  2. Utilisez le port 465 pour SSL : Remplacez le numéro de port par '465'.
  3. Assurez-vous que le nom d'utilisateur et le mot de passe sont corrects : Utilisez l'adresse e-mail complète comme nom d'utilisateur et le nom associé mot de passe.

Code mis à jour :

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 incorporant ces modifications, le code devrait désormais envoyer avec succès des e-mails via le serveur SMTP de GMail à partir de la page PHP.

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 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