web-dev-qa-db-fra.com

PHP Swift mailer: échec de l'authentification sur SMTP avec 2 authentifiants possibles

Lorsque j'envoie un courrier électronique avec le mailing PHP Swift à ce serveur: smtp.exchange.example.com ressemble à ceci:

// Load transport
$this->transport =
    Swift_SmtpTransport::newInstance(
       self::$config->hostname,
       self::$config->port
    )
    ->setUsername(self::$config->username)
    ->setPassword(self::$config->password)
    ;

// Load mailer
$this->mailer = Swift_Mailer::newInstance($this->transport);

// Initialize message
$this->message = Swift_Message::newInstance();

// From
$this->message->setFrom(self::$config->from);

// Set message etc. ...

// Send
$this->mailer->send($this->message);

Je reçois une erreur étrange en retour:

Échec de l'authentification sur le serveur SMTP avec le nom d'utilisateur "[email protected]" à l'aide de 2 authentificateurs possibles

Je sais pour sûr que les informations de connexion sont correctes.

23
VDVLeon

Cela peut être vieux, mais quelqu'un pourrait obtenir de l'aide à travers cela. Moi aussi, j'ai fait face au même problème et j'ai reçu un courrier sur mon compte gmail indiquant que quelqu'un essayait de pirater votre compte via un client de messagerie ou un autre site .

Accédez à https://accounts.google.com/UnlockCaptcha Et déverrouillez votre compte pour pouvoir y accéder par le biais d'autres sites/médias.

MISE À JOUR: 2015

Vous pouvez également essayer ceci: Allez à https://myaccount.google.com/security#connectedapps En bas, vers la droite, l'option "Autoriser les applications moins sécurisées". S'il est sur "OFF", allumez-le en faisant glisser le bouton.

30
roneo

J'ai eu le même problème, alors j'ai désactivé un paramètre sur ma connexion racine WHM, qui est la suivante:

WHM> Accueil> Configuration du serveur> Paramètres Tweak> Limiter le SMTP sortant à root, exim et mailman (FKA SMTP Tweak) [?]

8
Mint

J'ai vraiment le même problème, finalement, je l'ai résolu.

ce n'est pas le problème du Swift Mail. C'est le problème de l'analyseur Yaml ... Si votre mot de passe ne contient que des chiffres, le mot de passe envoyé à Swift n'est finalement pas le même.

swiftmailer:
    transport:  smtp
    encryption: ssl
    auth_mode:  login
    Host:       smtp.gmail.com
    username:   your_username
    password:   61548921

vous devez le corriger avec des guillemets doubles mot de passe: "61548921"

6
user777161

Je viens de recevoir la même erreur. 

La chose étrange est que a commenté les lignes d'identification 

// ->setUsername(self::$config->username)
// ->setPassword(self::$config->password)

Et le problème a disparu. 

Je suis perplexe car le serveur de messagerie a vraiment besoin de ces informations d'identification.

4
Sydwell

J'ai essayé presque toutes les suggestions possibles mentionnées ici, mais pour moi, le problème a été résolu après le changement de "Accès pour les applications moins sécurisées" à Activer dans l'onglet Paramètres de sécurité de mon compte Google. J'espère que cela pourrait être utile pour les autres! 

2
user3857499

Le serveur peut nécessiter un cryptage et une authentification sécurisée.
voir http://swiftmailer.org/docs/sending.html#encrypted-smtp

2
VolkerK

essayez de mettre le nom d'utilisateur entre guillemets "nom d'utilisateur", ce qui a été corrigé pour moi.

1
Ardian C.

Vous utilisez peut-être un mauvais nom d'utilisateur.

J'ai eu une erreur similaire. Assurez-vous de ne pas utiliser de majuscule lorsque vous vous connectez au serveur.

Exemple: [email protected]

Si vous utilisez ->setUsername('JacekPL'), cela peut provoquer une erreur. Utilisez ->setUsername('jacekpl') à la place. Cela a résolu mon problème.

0
Marek D.

J'ai fait face au même problème et l'ai résolu. Essayez d'abord de vous connecter manuellement à votre compte Gmail .. Ce problème est dû à la détection par Google de l'abus de votre compte Gmail E.g envoie beaucoup de courriels sur une courte période.

0
Toby D

Commencez par vérifier s'il y a un problème de connectivité et que vous pouvez atteindre le serveur SMTP:

En type de terminal:

telnet servername portnumber 

Si vous recevez la réponse 220, vous pouvez atteindre le serveur SMTP et il n'y a pas de problème de connectivité, mais si la connexion au serveur échoue, voyez ce qui ne va pas sur votre réseau.

Si le serveur a besoin d'une authentification, essayez de vous authentifier sur le serveur par nom d'utilisateur et mot de passe et voyez si quelque chose ne va pas.

Enfin, voyez si le serveur nécessite un cryptage et si yes openssl et d'autres éléments sont configurés correctement.

0
pouya

Si vous essayez d’envoyer du courrier depuis votre environnement local, par exemple. XAMPP ou WAMP, cette erreur se produira à chaque fois. Essayez le même code sur votre hébergement Web ou sur ce que vous utilisez pour la production. 

En outre, l'authentification en deux étapes à partir de Google peut être le problème.

0

J'ai la même erreur.

J'utilisais un compte Gmail et le serveur SMTP de Google pour envoyer des courriels. Le problème était dû au refus du serveur SMTP d'autoriser cette application car il considérait mon hôte Web (par l'intermédiaire duquel j'avais envoyé un courrier électronique) comme un intrus.

J'ai suivi le processus de Google pour identifier mon hôte Web en tant qu'entité valide pour envoyer des emails via mon compte et le problème a été résolu.

0
Suraj