Ich versuche, eine E-Mail über den SMTP-Server von GMail von einer PHP-Seite aus zu senden, erhalte jedoch folgende Fehlermeldung:
Authentifizierungsfehler [SMTP: SMTP-Server unterstützt keine Authentifizierung (Code: 250, Antwort: mx.google.com bei Ihrem Dienst, [98.117.99.235] GRÖSSE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]
Kann jemand helfen? Hier ist mein Code:
<?php
require_once "Mail.php";
$from = "Sandra Sender <[email protected]>";
$to = "Ramona Recipient <[email protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$port = "587";
$username = "[email protected]";
$password = "testtest";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?>
Mail.php
?? Woher bekomme ich diese Datei?myaccount
Geben Sie einfach den Benutzernamen ein.Mit Swift Mailer ist es ganz einfach, eine E-Mail über Google Mail-Anmeldeinformationen zu senden:
quelle
Ihr Code scheint kein TLS (SSL) zu verwenden, das für die Zustellung von E-Mails an Google erforderlich ist (und die Ports 465 oder 587 verwendet) .
Sie können dies tun, indem Sie einstellen
$host = "ssl://smtp.gmail.com";
Ihr Code sieht verdächtig aus wie dieses Beispiel, das im Hostnamenschema auf ssl: // verweist.
quelle
Ich empfehle Pear Mail nicht. Es wurde seit 2010 nicht aktualisiert. Lesen Sie auch die Quelldateien. Der Quellcode ist fast veraltet, im PHP 4-Stil geschrieben und es wurden viele Fehler / Bugs gepostet (Google it). Ich benutze Swift Mailer.
Swift Mailer lässt sich in jede in PHP 5 geschriebene Webanwendung integrieren und bietet einen flexiblen und eleganten objektorientierten Ansatz für das Versenden von E-Mails mit einer Vielzahl von Funktionen.
Es ist eine kostenlose und Open Source- Version, die Sie herunterladen und auf Ihren Server hochladen können. (Die Funktionsliste wird von der Eigentümer-Website kopiert.)
Das Arbeitsbeispiel für Google Mail SSL / SMTP und Swift Mailer finden Sie hier ...
Ich hoffe das hilft. Viel Spaß beim Codieren ... :)
quelle
quelle
SwiftMailer kann E-Mails über externe Server senden.
Hier ist ein Beispiel, das zeigt, wie ein Google Mail-Server verwendet wird:
quelle
Der in der Frage aufgeführte Code muss zwei Mal geändert werden
Port 465 ist für eine SSL-Verbindung erforderlich.
quelle
Senden Sie E-Mails mit der phpMailer-Bibliothek über Google Mail. Laden Sie die Bibliotheksdateien nicht von Github herunter
quelle
Ich hatte auch dieses Problem. Ich habe die richtigen Einstellungen vorgenommen und weniger sichere Apps aktiviert, aber es hat immer noch nicht funktioniert. Schließlich habe ich diese https://accounts.google.com/UnlockCaptcha aktiviert und es hat bei mir funktioniert. Ich hoffe das hilft jemandem.
quelle
Google Mail benötigt Port 465 und es ist auch der Code von phpmailer :)
quelle
Führen Sie die folgenden Befehle aus, um die Mail.php von PEAR in Ubuntu zu installieren:
quelle
Ich habe eine Lösung für GSuite-Konten, die nicht das Sufix "@ gmail.com" haben. Ich denke auch, dass es für GSuite-Konten mit @ gmail.com funktionieren wird, aber ich habe es nicht versucht. Zunächst sollten Sie die Berechtigung haben, die Option "Allos weniger sichere App" für Ihr GSuite-Konto zu ändern. Wenn Sie über die Berechtigungen verfügen (Sie können Kontoeinstellungen-> Sicherheit überprüfen), müssen Sie die "Zwei-Schritt-Faktor-Authentifizierung" deaktivieren. Gehen Sie zum Ende der Seite und setzen Sie "Ja", um weniger sichere Anwendungen zuzulassen. Das ist alles. Wenn Sie keine Berechtigungen zum Ändern dieser Optionen haben, funktioniert die Lösung für diesen Thread nicht. Aktivieren Sie https://support.google.com/a/answer/6260879?hl=de , um Änderungen an der Option "Weniger zulassen ..." vorzunehmen.
quelle
Ich habe den Vorschlag von @shasi kanth ausprobiert, aber es hat nicht geklappt. Ich habe die Dokumentation gelesen und es wurden nur wenige Änderungen vorgenommen. Also habe ich es geschafft, E-Mails über Google Mail mit diesem Code zu senden, wobei vendor / autoload.php vom Komponisten mit Composer "swiftmailer / swiftmailer: ^ 6.0" benötigt wird:
quelle
einstellen
Überprüfen Sie auch, ob Port 25 funktioniert.
quelle