senden Sie E-Mail mit Gmail-SMTP-server über PHP-Mailer
Ich möchte senden Sie eine E-Mail mit Gmail-SMTP - server durch PHP Mailer.
dies ist mein code
<?php
require_once('class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet="UTF-8";
$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->Username = '[email protected]';
$mail->Password = 'valid password';
$mail->SMTPAuth = true;
$mail->From = '[email protected]';
$mail->FromName = 'Mohammad Masoudian';
$mail->AddAddress('[email protected]');
$mail->AddReplyTo('[email protected]', 'Information');
$mail->IsHTML(true);
$mail->Subject = "PHPMailer Test Subject via Sendmail, basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!";
$mail->Body = "Hello";
if(!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message sent!";
}
?>
aber ich erhalte folgende Fehlermeldung
Mailer Error: SMTP Error: The following recipients failed: anotherValidGmail@gmail.com
SMTP server error: SMTP AUTH is required for message submission on port 587
meine domain ist vatandesign.ir
Möchten Sie vielleicht einen Blick auf Jorj ' s Antwort auf diesen thread: stackoverflow.com/questions/5759419/...
InformationsquelleAutor Mohammad Masoudian | 2013-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser code oben getestet worden und für mich gearbeitet.
Könnte es sein, dass Sie benötigt
$mail->SMTPSecure = 'ssl';
Auch stellen Sie sicher, dass Sie nicht zwei-Schritt-Verifizierung eingeschaltet für dieses Konto, die Probleme verursachen können auch.
AKTUALISIERT
Könnten Sie versuchen, ändern $post->SMTP:
Es ist erwähnenswert, dass einige SMTP-Server verbindungen blockiert.
Einige SMTP-Server nicht unterstützen
SSL
(oderTLS
) - verbindungen.Aktualisierte Antwort mit einem weiteren Vorschlag. Der code ist definitiv in Ordnung sowieso. Sie könnte prüfen, diese beiden Quellen phpmailer.worxware.com/index.php?pg=exampleagmail und github.com/Synchro/PHPMailer/blob/master/examples/...
ich bin immer der Fehler: CLIENT -> SMTP: EHLO localhost SMTP -> FEHLER: EHLO nicht akzeptiert vom server: CLIENT -> SMTP: HELO localhost Hinweis: fwrite(): senden von 16 bytes failed with errno=10054 Eine vorhandene Verbindung wurde gewaltsam vom Remotecomputer host geschlossen. in C:\xampp\htdocs\program\mailsending1\mailsending_v1\PHPMailer-master\class.smtp.php on line 1023 SMTP -> FEHLERMELDUNG: HELO nicht akzeptiert vom server: SMTP -> HINWEIS: EOF gefangen, während die Kontrolle, wenn connectedSMTP Connect() ist fehlgeschlagen. Mailer Error: SMTP Connect() failed.
Beachten Sie, dass wenn Sie geben Sie "ssl" (wärmstens empfohlen), PHP-installation benötigt, um die "openssl-extension geladen ist (oder kompiliert), mit Ihrem Lieblings-PHP-extension-Mechanismus (ich passieren, die zur Verwendung von OS X Macports, für die es sudo port install php5-openssl)
Ist es besser, zu prüfen, sowohl in der Rückgabe-Wert und Fehler if(!$mail->Senden() || $post->ErrorInfo) {
InformationsquelleAutor andrew-caulfield
So, ich löste meine eigene "SMTP-Verbindung fehlgeschlagen" - Fehler und ich wollte die Lösung posten für den Fall, es hilft jemand anderes.
Benutzte ich den GENAUEN code in der PHPMailer Beispiel gmail.phps-Datei. Es funktionierte einfach, während ich war mit MAMP und dann hab ich die SMTP-Verbindung Fehler, sobald ich wieder auf meinem persönlichen server.
Alle Stack Overflow Antworten, die ich lese, und all die Fehlerbehebung Dokumentation von PHPMailer sagte, dass es nicht ein Problem mit PHPMailer. Es wurde ein Problem Einstellungen auf der server-Seite. Ich habe versucht, verschiedene ports (587, 465, 25), ich habe versucht, 'SSL' und 'TLS' - Verschlüsselung. Ich habe das openssl aktiviert wurde, in meinem php.ini-Datei. Ich habe überprüft, dass es nicht ein firewall-Problem. Alles ausgecheckt, und immer noch nichts.
Die Lösung war, dass ich hatte, um diese Zeile zu entfernen:
Nun es funktioniert alles. Ich weiß nicht warum, aber es funktioniert. Der rest von meinem code kopiert und eingefügt werden aus der PHPMailer Beispiel-Datei.
Verwenden Sie einfach Mandrill, es ist viel besser und hat tatsächlich einige analytics.
Warum funktioniert das?
Mein problem gelöst. Ich danke Ihnen so sehr.
SCHLECHTE Lösung, Sie sind nicht per smtp, aber bare php mail () - Funktion, die wird wahrscheinlich senden Sie Ihre E-Mail als junk für einige Empfänger
InformationsquelleAutor Evan Butler
Ist auch erwähnenswert, dass, wenn Sie zwei-Faktor-Authentifizierung aktiviert ist, müssen Sie ein anwendungsspezifisches Passwort anstelle Ihres E-Mail-Konto-Kennwort.
Generieren Sie ein anwendungsspezifisches Passwort erstellen, indem Sie die folgenden Anweisungen:
https://support.google.com/accounts/answer/185833
Legen Sie dann
$mail->Password
um Ihr anwendungsspezifisches Passwort.InformationsquelleAutor Tim Carr
Scheint es, dass der server nicht herstellen einer Verbindung zu Gmail-SMTP-server.
Hier sind einige Tipps, um dies zu beheben:
1) überprüfen Sie, ob SSL ordnungsgemäß konfiguriert ist, die auf PHP (Modul, Griff-es ist nicht standardmäßig installiert, das auf PHP. Sie haben, um Ihre Konfiguration zu überprüfen, in phph.ini).
2) überprüfen Sie, ob Ihre firewall lassen, ausgehende Anrufe zu den von Ihnen gewünschten port (hier 465 oder 587). Verwenden Sie telnet, um so zu tun. Wenn der port nicht geöffnet ist, werden Sie dann auffordern, eine gewisse Unterstützung von sysdmin, um den setup-config.
Ich hoffe, Sortieren Sie diese aus, schnell!
InformationsquelleAutor Pr Shadoko
Öffnen Sie diese Link und wählen Sie Folgen Sie den Anweisungen von google-Servern blockiert jegliche versuche von unbekannten Servern so, sobald Sie auf captcha überprüfen jedes Ding wird in Ordnung sein
Ich war auch Probleme mit SMTP_connect() Fehler. Ich folgte die obigen Schritte, und noch immer der Fehler. Ich folgte den Schritten, zweimal, auf 2 verschiedenen gmail-Adressen, und beide Male scheint es, dass ich brauchte, um zu warten, ~1 Stunde, bevor die änderungen schien zu kick in. Danach funktionierte alles wie erwartet.
Besuchen Sie google.com/accounts/DisplayUnlockCaptcha und dann läuft mein code ist, was es für mich zu arbeiten. +1
InformationsquelleAutor Yasin Hassanien
Google Behandlung von Gmail-Konten unterschiedlich, je nach den verfügbaren Informationen für den Benutzer, wahrscheinlich, um Spammer einzudämmen.
Konnte ich nicht SMTP verwenden, bis ich das Handy Verifizierung. Aus einem anderen Konto zu überprüfen, und ich war in der Lage, um es zu bestätigen.
InformationsquelleAutor Forgot My Login 12
dieser code funktioniert Prima für mich
InformationsquelleAutor Zohaib Hussain
Anderscc hat es korrekt. Danke. Bei mir hat es geklappt aber nicht 100%.
Ich musste
$post->SMTPDebug = 0;
Auf 1 festlegen, können Fehler verursachen, vor allem, wenn Sie auf der Durchreise sind einige Daten als json auf der nächsten Seite. Beispiel - Durchführung die überprüfung, ob mail gesendet, in der json-Daten durch ajax.
Hatte ich senken, mein gmail-Konto Sicherheitseinstellungen, um loszuwerden, der Fehler:
"SMTP connect() failed" und "SMTP-FEHLER: der Befehl Password failed"
Lösung:
Dieses problem kann verursacht werden, indem Sie entweder die "weniger sicheren" Anwendungen verwenden möchten, die E-Mail-Konto (das ist laut google helfen, nicht sicher, wie Sie Sie beurteilen, was sicher ist und was nicht) ODER wenn Sie versuchen, sich einige Zeit in einer Zeile, ODER wenn Sie ändern Ländern (zum Beispiel VPN verwenden, verschieben Sie code, um verschiedene server oder tatsächlich versuchen, sich aus verschiedenen Teil der Welt).
Links, das problem zu beheben (Sie müssen angemeldet sein google-Konto):
zeigen Sie die zuletzt versucht, das Konto zu verwenden und akzeptieren verdächtigen zugreifen.
link um die Funktion zu deaktivieren, blockieren von verdächtigen apps/Technologien:
https://www.google.com/settings/u/1/security/lesssecureapps
Hinweis:
Sie können gehen Sie zu der folgenden stackoverflow-Antwort-link für weitere detaillierte Referenz.
https://stackoverflow.com/a/25175234
InformationsquelleAutor Akshay P. Raul
Das ist nur gefährlich. Tun Sie es nicht.
InformationsquelleAutor brandenM
Wenn Sie cPanel, die Sie sollten klicken Sie einfach auf die Pipi-box, die Ihnen erlaubt, zu senden an externe Server per SMTP.
Als hier beantwortet:
"Passwort nicht akzeptiert vom server: 535 Incorrect authentication data", wenn senden mit GMail und phpMailer
InformationsquelleAutor Tristanisginger
Ich denke, es ist die Verbindung Problem Sie erhalten hier den code http://skillrow.com/sending-mail-using-smtp-and-php/
InformationsquelleAutor user3445130
Nicht kommentieren, aber ja, entfernen
und Sie werden in Ordnung sein!
Schaltet SMTP, die Niederlagen der ganze Zweck dieser Frage.
InformationsquelleAutor Simon Ilett