2010-10-16 9 views
36

Ich verwende PHPMailer in einem einfachen Skript für E-Mail schicken bin über Google Mail, und ich bin immer einen „unbekannten Fehler“ (zumindest für mich!):„SMTP Fehler: Authentifizierung fehlgeschlagen“ in PHPMailer

SMTP Error: Could not authenticate. Error: SMTP Error: Could not authenticate.

SMTP server error: 5.7.1 Username and Password not accepted. Learn more at 535 5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16

Ich habe über Configure OpenSSL für SSL/TLS-Verbindungen gelesen, und ich habe es getan. Apache und PHP sind korrekt konfiguriert (mit OpenSSL-Erweiterung läuft in PHP und mod_ssl läuft in Apache 2.2.16).

Dies ist der PHP-Skript:

<?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!"; 
    } 
?> 

Der Benutzername und das Passwort in Ordnung sind, und ich versuchte, in Thunderbird, ohne jedes Problem. Ich habe auch SSL-Authentifizierung und Port 465 verwendet, um den gleichen Fehler zu bekommen.

+0

Dies ist seltsam, da der Fehler ziemlich eindeutig auf einen Benutzernamen/Passwort-Fehler eher als ein Protokoll-Problem verweist. Sie haben keine Sonderzeichen in Ihrem Passwort, die falsch übertragen werden könnten? –

Antwort

17

Versuchen Sie stattdessen:

$ Correo->Benutzername = "[email protected]";

Ich habe es getestet und seine Arbeit perfekt ohne keine andere Veränderung

+0

@Astantler können Sie seine Antwort mit dem Häkchensymbol auf der linken Seite als akzeptiert markieren. –

3

ich diesen Fehler erhalten, weil die Prozentzeichen im Passwort.

7

Ich erhielt den gleichen Fehler und in meinem Fall war es das Passwort. Mein Passwort hat Sonderzeichen für und wenn Sie das Passwort eingeben, ohne die Sonderzeichen zu umgehen, wird der Fehler weiterhin angezeigt. ZB $mail->Password = " por$ch3"; ist gültig, funktioniert aber nicht mit dem obigen Code. Die Lösung sollte wie folgt aussehen: $mail->Password = "por\$ch3"; Beachten Sie den Backslash, den ich vor dem Dollarzeichen in meinem Passwort platziert habe. Das sollte funktionieren, wenn Sie ein Passwort mit Sonderzeichen

+0

Sie können nur einfache Anführungszeichen verwenden. Nur das einfache Zitat selbst müsste entgangen werden. –

17

this is GMail issue

lesen Sie die Google-Hilfe haben (https://support.google.com/mail/answer/14257?p=client_login&rd=1)

  1. Öffnen Sie Ihren Web-Browser und melden Sie sich bei Google Mail an http://mail.google.com/mail. Wenn Sie eine Verifizierungsanfrage sehen, geben Sie die Buchstaben in das verzerrte Bild ein und schließen Sie die Anmeldung ab.
  2. Schließen Sie Ihren Browser und versuchen Sie erneut, auf Ihre Nachrichten in Ihrem E-Mail-Programm zuzugreifen.
  3. Wenn Sie weiterhin Probleme haben, besuchen Sie http://www.google.com/accounts/DisplayUnlockCaptcha und melden Sie sich mit Ihrem Google Mail-Nutzernamen und -Passwort an. Geben Sie ggf. die Buchstaben in das verzerrte Bild ein.
  4. Klicken Sie auf Weiter.
  5. Starten Sie Ihren E-Mail-Client neu und versuchen Sie erneut, auf Nachrichten in Ihrem E-Mail-Client zuzugreifen.

SMTP Error: Could not authenticate

Gmail issue

+0

kann erfordern, dass Sie ein paar Minuten warten, hat nicht sofort für mich arbeiten ... zweimal drücken. – enko

4

Für mich hatte ich ein Sonderzeichen in meinem Passwort-Feld, und ich habe es wie $ mail-> Password = "por $ ch3" die Arbeit für gmail smpt Server aber nicht für andere; also habe ich einfach doppelte Anführungszeichen in einfache Anführungszeichen geändert und es funktioniert für mich. $ mail-> Passwort = 'por $ ch3';

+0

Ich hoffe, dass Sie immer noch nicht dieses Passwort verwenden, weil 1. Sie haben es gerade im Internet zur Verfügung gestellt 2. Es ist überhaupt nicht sicher. https://dl.dropboxusercontent.com/u/209/zxcvbn/test/index.html –

+0

für mehr Klarstellung war es nur ein Beispiel –

2

Wenn Sie immer noch Fehler beim Senden von E-Mail, mit der gleichen Fehlermeldung.Versuchen Sie folgendes:

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

kurz vor der Linie:

$send = $mail->Send(); 

oder in anderen Sinn, vor dem Send() Funktion aufrufen.

Getestet und funktioniert.

0

Ich hatte das gleiche Problem mit der Authentifizierung. Der Fix bestand darin, eine Bestätigung in zwei Schritten einzurichten und ein anwendungsspezifisches Passwort für das Gerät zu erstellen (Fehlermeldungen in den Kontoeinstellungen -> "Benachrichtigungen und Warnungen", wenn Sie das gleiche Problem wie bei mir haben).

41

Ich habe dieses Problem festgestellt. Damit es funktioniert, musste ich unter myaccount.google.com -> "Anmelden & security" -> "Apps mit Kontozugriff" gehen und "Weniger sichere Apps zulassen" auf "EIN" setzen (unten auf der Seite).

enter image description here

+2

Es tut mir leid für die späte Antwort. Für diejenigen von Ihnen kann das Dialogfeld Nicht sichere Apps zulassen nicht angezeigt werden. 1. Gehen Sie zu Ihrem Konto. 2. Verbundene Apps und Websites (Anmeldung und Sicherheit) 3. Unter "Verbundene Apps & Websites" sollten drei Registerkarten angezeigt werden. Aber wenn Sie nur sehen - "Apps mit Ihrem Konto verbunden" und "Gespeicherte Passwörter". 4. Klicken Sie in der Seitenleiste auf "In Google anmelden" - Deaktivieren Sie die Bestätigung in zwei Schritten. 5. Jetzt sehen Sie die App Weniger sichere Apps zulassen. Schalten Sie wenn ein. – Beekeeper

+0

Ich habe den Abschnitt Weniger sichere Apps zulassen, aber das App-Passwort nicht angezeigt. Weitere Informationen https://support.google.com/accounts/answer/185833?hl=de – guido

+0

Vielen Dank. Das hat in meinem Fall funktioniert. –

0

Es war die selinux Frage. Ich habe gerade den unten angegebenen Teil in/etc/selinux/config datei SELINUX=permissive aktualisiert (es war SELINUX = zuvor erzwingen). dann nur das System neu starten, indem Sie geben Neustart Jetzt geht die Mail ohne Probleme. Konfiguration

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

hatte ich das gleiche Problem und habe alle Tipps einschließlich Gmail-Einstellung (beispielsweise weniger sichere Apps Zugriff) ohne Glück. Aber als ich schließlich das Passwort in etwas anderes änderte, funktionierte es aus irgendeinem Grund! FYI, das ursprüngliche Passwort hatte keine Sonderzeichen.

2

[Gelöst]. Ich habe den gleichen Fehler bei der Konfiguration der WP-Mail-SMTP Plugin in Wordpress erlebt.

Das Problem würde auch dann bestehen bleiben, wenn ich die Einstellungen und Anmeldedaten dreifach überprüft habe und mich über einen Browser manuell anmelden kann.

Es gibt eine Liste von Schritten, die Sie ergreifen können, um dies zu beheben.

  1. Erstellen Sie ein neues Passwort für das Google Mail-Konto, das Sie
  2. Aktivieren weniger sichere Apps in Google Security settings
  3. Gebrauch verwenden möchten die Display Unlock Captcha page Ihre App oder Website Erlaubnis zu Google Mail anmelden zu geben. Klicken Sie auf Continue oder folgen Sie den Anweisungen.
  4. Melden Sie sich mit der App oder der Website an. Die SMTP-Einstellungen, die für mich arbeiten, sind 1) SMTP-Host: smtp.gmail.com 2) SMTP-Port: 587 3) Verschlüsselung: TLS 4) Authentifizierung: SMTP-Authentifizierung 5) Benutzername: [email protected] 6) Passwort: examplesecret
+0

Sie müssen die Weiterleitung, POP oder IMAP in Gmail nicht aktivieren, damit dies funktioniert. – Red

0

SMTP Fehler: konnte nicht authentifizieren ich hatte das gleiche Problem. Die folgenden Schritte zur Fehlerbehebung haben mir geholfen.

  • Ich habe die Zwei-Faktor-Authentifizierung in meinem Google Mail-Konto deaktiviert.
  • Ich habe es weniger sicheren Apps erlaubt, auf mein Google Mail-Konto zuzugreifen. Um es zum Laufen zu bekommen, musste ich gehen zu myaccount.google.com ->Sign-in & security ->Apps with account access, und drehen Sie Allow less secure apps zu ON (am unteren Rand der Seite).
  • In diesem Schritt, als ich versuchte, einen Benutzer zu registrieren, würde ich den gleichen Fehler erhalten. Google hat mir eine Warnmeldung geschickt, dass jemand mein Passwort hat und der Login blockiert wurde.
  • Google Mail bietet Ihnen dann Optionen. Sie klicken entweder auf die Aktivität, die Ihnen gehörte oder nicht auf Ihre. Klicken Sie auf die Option, dass die Aktivität Ihnen gehörte.
  • Versuchen Sie die Registrierung erneut. Es sollte jetzt funktionieren.
Verwandte Themen