2010-08-23 5 views
20

Wenn ich eine E-Mail mit dem PHP Swift Mailer an diesen Server senden: smtp.exchange.example.com wie folgt aus:PHP Swift Mailer: Fehler auf SMTP zur Authentifizierung unter Verwendung von 2 möglich authenticators

// 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); 

ich bekommen seltsame Fehler zurück:

konnte nicht auf SMTP-Server mit dem Benutzernamen "[email protected]" mit 2 möglich authenticators

weiß ich sicher authentifizieren, dass die Login -info ist richtig.

+1

Hinzufügen: Verschlüsselung: ssl auth_mode: Login löste das Problem für mich auf SES. – user3139908

Antwort

-6

Seltsamerweise funktioniert das Versenden von E-Mails wieder. Wir haben nichts geändert und der Gastgeber sagt, dass sie es auch nicht getan haben. Wir denken, dass ein Server neu gestartet wird oder so. Es ist seltsam: S

+0

Dies ist keine Lösung. Ich bekomme diesen Fehler seit Stunden. Ich denke, es hat etwas mit der Bestätigung in zwei Schritten zu tun. –

+1

Wenn es wegen der Bestätigung in zwei Schritten ist, sollten Sie ein App-Passwort definieren und es als Ihr Passwort verwenden! :) –

+0

Es sollte ein Kommentar sein, keine mögliche Lösung für das Problem. – romaroma

1

Der Server benötigt möglicherweise eine Art von Verschlüsselung und sichere Authentifizierung.
siehe http://swiftmailer.org/docs/sending.html#encrypted-smtp

+0

Das ist nicht das Problem, danke trotzdem. Ich habe gerade eine E-Mail an den Gastgeber geschickt, ich hoffe, dass sie mir helfen können. – VDVLeon

+1

dieser Link ist jetzt tot –

+0

behoben .... für was es wert ist ;-) – VolkerK

4

Ich habe gerade den gleichen Fehler erhalten.

Das Merkwürdige ist, dass die Anmeldeinformationen Linien

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

Und das Problem verschwunden kommentiert.

Ich bin verwirrt, weil der Mail-Server definitiv diese Anmeldeinformationen benötigt.

+1

Hi @Sydwell, ich habe genau dasselbe - mit kommentierten Zeilen wird die E-Mail erfolgreich versendet. Hast du herausgefunden, warum das passiert? – alex23

+1

Hallo @ alex23, nein, ich habe keine Ahnung. Es ist schon lange her, seit ich diesen Code benutzt habe. – Sydwell

0

Sie verwenden vielleicht den falschen Benutzernamen.

Ich hatte einen ähnlichen Fehler. Stellen Sie sicher, dass Sie beim Anmelden am Server keinen Großbuchstaben verwenden.

Beispiel: [email protected]

Wenn Sie ->setUsername('JacekPL') verwenden, kann dies einen Fehler verursachen. Verwenden Sie stattdessen ->setUsername('jacekpl'). Das hat mein Problem gelöst.

5

Ich habe wirklich das gleiche Problem, endlich habe ich es gelöst.

es ist nicht das Problem der Swift Mail. Es ist Yaml Parser-Problem. wenn dein passwort nur die ziffern, das passwort senmd zu schnell schlussendlich nicht das selbe ist.

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

müssen Sie es mit doppelten Anführungszeichen Passwort fix: "61548921"

0

bekam ich die gleichen gleichen Fehler.

Ich benutzte Google Mail-Konto und Google SMTP-Server, um E-Mails zu senden. Das Problem war darauf zurückzuführen, dass der SMTP-Server die Autorisierung verweigerte, da er meinen Webhost (durch den ich E-Mails gesendet hatte) als Eindringling betrachtete.

Ich folgte Googles Prozess, um meinen Webhost als gültige Entität zu identifizieren, um E-Mails über mein Konto zu senden, und das Problem wurde gelöst.

+6

Das Hinzufügen des Links zur Bestätigungsseite hätte nicht viel Ärger gemacht ... – Andre

0

Ich konfrontiert das gleiche Problem und löste es. Versuchen Sie, sich zuerst manuell bei Ihrem Google Mail-Konto anzumelden. Dieses Problem liegt daran, dass Google festgestellt hat, dass Ihr Google Mail-Konto missbraucht wurde. Z. B. verschicken viele E-Mails über einen kurzen Zeitraum.

0

Prüfen Sie zuerst, ob es eine Verbindungsproblem ist, und Sie können den SMTP-Server erreichen:

In Terminaltyp:

telnet servername portnumber 

Wenn Sie die 220-Antwort erhalten, können Sie den SMTP-Server erreichen, und es gibt Kein Verbindungsproblem, aber wenn die Verbindung zum Server fehlgeschlagen ist, sehen Sie, was in Ihrem Netzwerk nicht stimmt.

Wenn der Server Authentifizierung benötigt, versuchen Sie auf dem Server mit Benutzernamen und Passwort zu authentifizieren und sehen, ob etwas schief geht.

Zuletzt sehen, ob der Server Verschlüsselung erfordert und wenn ja openssl und andere Sachen richtig konfiguriert sind.

29

Dies könnte alt sein, aber jemand könnte Hilfe dabei bekommen. Auch ich hatte das selbe Problem und erhielt eine Mail in meinem Google Mail-Konto, in der stand, dass jemand versucht, Ihr Konto über einen E-Mail-Client oder eine andere Website zu hacken. THen, die ich gesucht und gefunden habe, würde das Problem unten lösen.

Gehen Sie zu https://accounts.google.com/UnlockCaptcha und entsperren Sie Ihr Konto für den Zugriff über andere Medien/Websites.

UPDATE: 2015

Auch können Sie dies versuchen, zu https://myaccount.google.com/security#connectedapps gehen Am unteren Ende nach rechts gibt es eine Option ist "Weniger sichere Apps zulassen". Wenn es "AUS" ist, schalten Sie es durch Drücken der Taste ein.

+0

Danke, Mann! Das war es für mich über Laravel 4. – KLVTZ

+0

hat so lange nach diesem Fehler gesucht ... Captcha zu entsperren hat für mich funktioniert. Danke mein Herr! Diese – Jack

1

versuchen, Benutzernamen in doppelte Anführungszeichen "Benutzername", irgendwie das für mich behoben.

+0

arbeitete in meinem Fall für das Passwort ... – wowpatrick

2

Ich habe fast alle möglichen Vorschläge ausprobiert, die hier erwähnt werden, aber für mich wurde das Problem nach der Änderung von "Zugriff für weniger sichere Apps" auf ENABLE in meinem Google-Konto-Sicherheitseinstellungen-Tab gelöst. Hoffe, das könnte für andere nützlich sein!

+0

hier ist der Link https://myaccount.google.com/security?hl=en&pli=1#connectedapps – undefinedman

0

Wenn Sie versuchen, E-Mails von Ihrer lokalen Umgebung zu senden, z. XAMPP oder WAMP, wird dieser Fehler jedes Mal auftreten, gehen Sie voran und versuchen Sie den gleichen Code auf Ihrem Web-Hosting oder was auch immer Sie für die Produktion verwenden.

Auch 2-Schritt-Authentifizierung von Google kann das Problem sein.

4

ich hatte das gleiche Problem, also habe ich auf meine WHM Root-Login deaktiviert eine Einstellung, die wie folgt:

WHM> Startseite> Serverkonfiguration> Tweak Einstellungen> ausgehenden SMTP-root beschränken, exim, und mailman (FKA SMTP Tweak) [?]

+1

Diese Antwort das Problem beheben –

+0

Dies beendet die Fehlermeldung Trotzdem keine E-Mails bekommen !! – Glen

+0

Das hat funktioniert..danke !!!! – LearnLaravel

Verwandte Themen