web-dev-qa-db-fra.com

"Erreur SMTP: impossible de s'authentifier" dans PHPMailer

J'utilise PHPMailer dans un script simple pour l'envoi d'e-mails via Gmail et j'obtiens une "erreur inconnue" (du moins pour moi!):

Erreur SMTP: n'a pas pu authentifier. Erreur: Erreur SMTP: Impossible authentifier.

Erreur de serveur SMTP: 5.7.1 Nom d'utilisateur et Mot de passe non accepté. En savoir plus sur 535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16

J'ai lu sur Configurer OpenSSL pour les connexions SSL/TLS et je l'ai fait. Apache et PHP sont correctement configurés (avec l'extension OpenSSL s'exécutant sous PHP et mod_ssl sous Apache 2.2.16).

C'est le script PHP:

 <?php
  require_once ("PHPMailer\class.phpmailer.php");
  $Correo = new PHPMailer();
  $Correo->IsSMTP();
  $Correo->SMTPAuth = true;
  $Correo->SMTPSecure = "tls";
  $Correo->Host = "smtp.gmail.com";
  $Correo->Port = 587;
  $Correo->UserName = "[email protected]";
  $Correo->Password = "gmailpassword";
  $Correo->SetFrom('[email protected]','De Yo');
  $Correo->FromName = "From";
  $Correo->AddAddress("[email protected]");
  $Correo->Subject = "Prueba con PHPMailer";
  $Correo->Body = "<H3>Bienvenido! Esto Funciona!</H3>";
  $Correo->IsHTML (true);
  if (!$Correo->Send())
  {
    echo "Error: $Correo->ErrorInfo";
  }
  else
  {
    echo "Message Sent!";
  }
?>

Le nom d'utilisateur et le mot de passe sont corrects, et j'ai essayé dans Thunderbird, sans aucun problème. J'ai également utilisé l'authentification SSL et le port 465, obtenant la même erreur. 

47

Essayez ceci à la place:

$ Correo -> Nom d'utilisateur = "[email protected]";

Je l'ai testé et il fonctionne parfaitement sans autre changement

22
malletjo

J'ai rencontré ce problème. Pour que cela fonctionne, je devais accéder à myaccount.google.com -> "Connexion et sécurité" -> "Applications avec accès au compte", puis activer "Autoriser les applications moins sécurisées" (" vers le bas de la page).

 enter image description here

58
cwd

c'est le problème de GMail

lisez cette aide Google ( https://support.google.com/mail/answer/14257?p=client_login&rd=1 )

  1. Ouvrez votre navigateur Web et connectez-vous à Gmail à l’adresse http://mail.google.com/mail . Si vous voyez une demande de vérification de Word, tapez les lettres dans l'image déformée et terminez la connexion.
  2. Fermez votre navigateur et essayez d'accéder à nouveau à vos messages dans votre client de messagerie.
  3. Si vous rencontrez toujours des problèmes, visitez le site http://www.google.com/accounts/DisplayUnlockCaptcha et connectez-vous avec votre nom d'utilisateur et votre mot de passe Gmail. Si nécessaire, entrez les lettres dans l'image déformée.
  4. Cliquez sur Continuer.
  5. Redémarrez votre client de messagerie et essayez à nouveau d'accéder aux messages de votre client de messagerie.

SMTP Error: Could not authenticate

Gmail issue

21
IRvanFauziE

J'ai reçu la même erreur et dans mon cas c'était le mot de passe. Mon mot de passe a des caractères spéciaux pour et si vous le fournissez sans échapper aux caractères spéciaux, l'erreur continuera à s'afficher. E.g $mail->Password = " por$ch3"; est valide mais ne fonctionnera pas avec le code ci-dessus. La solution devrait être la suivante: $mail->Password = "por\$ch3"; Notez la barre oblique inverse que j'ai placée avant le caractère dollar dans mon mot de passe. Cela devrait fonctionner si vous avez un mot de passe utilisant des caractères spéciaux 

7
Bubba

J'ai reçu cette erreur en raison de signes de pourcentage dans le mot de passe.

3
svandragt

Pour moi, j'avais un caractère spécial dans mon champ mot de passe, et je l'ai mis comme $ mail-> Mot de passe = "por $ ch3" qui fonctionne pour le serveur gmail smpt mais pas pour les autres; donc je viens de changer les guillemets doubles en guillemets simples et cela fonctionne pour moi. $ mail-> Password = 'por $ ch3'; 

3
Rikin Adhyapak

Si vous rencontrez toujours une erreur lors de l'envoi du courrier électronique, le même message d'erreur s'affichera Essaye ça:

$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';

juste avant la ligne:

$send = $mail->Send();

ou dans un autre sens, avant d'appeler la fonction Send ().

Testé et fonctionnel.

2
JackSparrow

J'avais le même problème et ai suivi tous les conseils, y compris le réglage de Gmail (accès moins sécurisé aux applications, par exemple) sans succès Mais finalement, lorsque j'ai changé le mot de passe pour quelque chose de différent, pour une raison quelconque, cela a fonctionné! Pour votre information, le mot de passe initial ne comportait aucun caractère spécial.

2
Ehsan

[RESOLU]. J'ai rencontré la même erreur lors de la configuration du plugin WP-Mail-SMTP dans Wordpress.

Le problème persisterait même après avoir vérifié trois fois les paramètres et les identifiants de connexion et pouvoir me connecter manuellement à l'aide d'un navigateur.

Il existe une liste de mesures à prendre pour résoudre ce problème.

  1. Créez un nouveau mot de passe pour le compte Gmail que vous souhaitez utiliser
  2. Activer les applications moins sécurisées dans Paramètres de sécurité Google
  3. Utilisez la page Display Unlock Captcha pour autoriser votre application ou votre site Web à se connecter à Gmail. Cliquez sur Continue ou suivez les instructions.
  4. Connectez-vous à l'aide de l'application ou du site Web. Les paramètres smtp qui fonctionnent pour moi sont 1) Hôte SMTP: smtp.gmail.com 2) Port SMTP: 587 3) Cryptage: TLS 4) Authentification: Authentification SMTP 5) Nom d'utilisateur: [email protected] 6) Mot de passe: exemplesecret
2
Red

Erreur SMTP: impossible d'authentifier J'ai eu le même problème. Les étapes de dépannage suivantes m'ont aidé.

  • J'ai désactivé l'authentification à deux facteurs dans mon compte Gmail.
  • J'ai autorisé des applications moins sécurisées à accéder à mon compte Gmail. Pour que cela fonctionne, je devais aller à myaccount.google.com -> Sign-in & security -> Apps with account access et mettre Allow less secure apps à ON (près du bas de la page).
  • À cette étape, lorsque j'essayais d'enregistrer un utilisateur, j'obtiendrais la même erreur. Google m'a envoyé un message d'avertissement indiquant que quelqu'un a mon mot de passe et que la connexion a été bloquée.
  • Gmail vous fournira ensuite des options. Vous pouvez cliquer sur si l'activité était la vôtre ou non. Cliquez sur l'option que l'activité était la vôtre.
  • Essayez de vous enregistrer à nouveau. Cela devrait maintenant fonctionner.
0
Joshua Mutinda

J'ai eu le même problème avec l'authentification. Le correctif consistait à configurer la vérification en deux étapes et à créer un mot de passe spécifique à l'application pour le périphérique (des messages d'erreur pour bloquer le périphérique apparaîtront dans les paramètres de votre compte -> "Notifications et alertes" si votre problème est identique à celui que j'ai utilisé). 

0
anu

Il n'y a pas de problème avec votre code.

Suivez ci-dessous deux étapes simples pour envoyer des emails à partir de phpmailer. 

  • Vous devez désactiver le paramètre de vérification en deux étapes pour le compte Google si vous l'avez activé. 

  • ActivezSURautorisez l'accès à une application moins sécurisée.

0
Ravindra Miyani

L'autre message est correct pour résoudre le problème mais n'indique pas comment le faire si la vérification en deux étapes est activée. L'option permettant d'autoriser les applications moins sécurisées n'est PAS disponible alors. Voici une réponse à la façon de le faire: 

a. Go to the URL of `https://myaccount.google.com/` and click `Sing-in and security`

b. Click on the app password. 

 enter image description here

You will reach a page like this,

 enter image description here

c. Create name of your app and generate a password for the respective app.  

d. Use that password acquired here inside the app.

Cela devrait résoudre le problème. 

0
Arefe

C'était la question de selinux. Je viens de mettre à jour la partie donnée ci-dessous dans le fichier/etc/selinux/config SELINUX=permissive (c'était SELINUX = en vigueur avant) . Puis redémarrez simplement le système en donnant RebootMaintenant, le courrier passe sans pas de soucis . Configuration

From Email Address : [[email protected]]
From Name : [your domain name]
SMTP Host   : smtp.gmail.com
Type of Encryption : SSL
SMTP Port : 465
SMTP Authentication  : YES
Username : [your mail id]
Password : [your password]
0
Jathin Prasad