PHP - Gmail und lima-city | Problem?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktivieren
antwort
code
email
fehlermeldung
frage
funktion
http
jemand
login
message
port
problem
server
set
support
test
text
url
versenden
-
Hallo Com.,
ich bin derzeit dabei meine lokale Webseite auf lima-city zu übertragen. Im Grunde läuft nun alles, Login, etc. .
Nun habe ich noch das Problem mit dem Mail versenden. Ich versende meine Mails eigentlich über SMTP und zwar nutze ich dafür Gmail.
Auf meinem lokalen Entwicklungsstand funktioniert das auch klasse. Bei lima nun jetzt irgendwie nicht mehr.
Ich nutze die Klasse PHPMail, um meine E-Mails zu versenden.
Die Funktion, die ich mir dafür geschrieben habe und eben an den benötigten Stellen aufrufe sieht so aus:
// PHPMailer - E-Mail über Gmail versenden function sendmail($email, $name, $betreff, $nachricht) { date_default_timezone_set(@date_default_timezone_get()); require 'PHPMail/PHPMailerAutoload.php'; $mail = new PHPMailer(); //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 0; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = 'smtp.gmail.com'; //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission $mail->Port = 587; //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'tls'; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication - use full email address for gmail $mail->Username = "*********@gmail.com"; //Password to use for SMTP authentication $mail->Password = "*************"; //Set who the message is to be sent from $mail->setFrom('test@thecompany.com', 'The Company'); //Set an alternative reply-to address $mail->addReplyTo('andimg93@gmail.com', 'Andreas Gerum'); //Set who the message is to be sent to $mail->addAddress(''.$email.'', ''.$name.''); //Set the subject line $mail->Subject = $betreff; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML($nachricht); $mail->CharSet = 'UTF-8'; // the same as 'utf-8' // send message $mail->send(); }
Wenn ich den den Debug-Wert auf 2 setze, um alle Fehlermeldungen zu sehen, erhalten ich:
SMTP ERROR: Failed to connect to server: (0) SMTP connect() failed.
Das Passwort und meine E-Mail stimmen aber zu 100% und der Port natürlich auch. Wie gesagt lokal funktioniert das E-Mail versenden einwandfrei und über die normale PHP mail Funktion geht es bei Lima auch. Kriege es nur irgendwie nicht hin, dass ich über Gmail bei lima-city meine E-Mails versende...
Beitrag zuletzt geändert: 12.7.2014 1:47:40 von master4860 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
vielleicht muss man bei gmail das SMTP zuerst aktivieren
kann sein, dass es bei Einstellungen (in gmail) dafür ein Häckchen gibt.
EDIT ... da .. im gmail Login
Einstellungen / Weiterleitung und POP/IMAP / IMAP-Zugriff:----> IMAP aktivieren
!
Beitrag zuletzt geändert: 12.7.2014 10:54:17 von kontoausgleich -
Welche Meldungen bekommst du bei Debug-Level 3? Das würde dir jedenfalls genauer verraten wo der Fehler passiert … und zur Sicherheit solltest du die Ausgabe von Fehlermeldungen auf lima-city aktivieren.
Meine Vermutung: eine Funktion, die es bei dir gibt wird hier nicht unterstützt (Sockets). Und da du TLS verwenden willst / musst (google nimmt immerhin nur verschlüsselte Verbindungen an) könnte es auch daran liegen, dass die smtp-Klasse den Befehl »STARTTLS« über die PHP-Funktion »stream_socket_enable_crypto« abwickelt, welche es hier nicht gibt.
kontoausgleich schrieb:
Kann nicht sein, da laut TE am lokalen Rechner alles funktioniert wie es soll.
vielleicht muss man bei gmail das SMTP zuerst aktivieren
kontoausgleich schrieb:
IMAP ≠ SMTP. Während SMTP für das Versenden von Mails benutzt wird, brauchst du IMAP zum Empfangen.
[…] IMAP aktivieren
Beitrag zuletzt geändert: 12.7.2014 11:02:31 von hackyourlife -
Also mit Debug-Level 3 erhalte ich folgende Fehler:
Connection: opening SMTP ERROR: Failed to connect to server: (0) SMTP connect() failed.
kontoausgleich schrieb:
vielleicht muss man bei gmail das SMTP zuerst aktivieren
kann sein, dass es bei Einstellungen (in gmail) dafür ein Häckchen gibt.
EDIT ... da .. im gmail Login
Einstellungen / Weiterleitung und POP/IMAP / IMAP-Zugriff:----> IMAP aktivieren
!
Absoluter Schwachsinn, lies meinen Beitrag. Es funktioniert lokal und da muss ich ja auch ne Verbindung nach außen haben. Die Mails werden aber einwandfrei versendet.
Wie hackyourlife schon richtig gesagt hat, hat imap nichts mit smtp zu tun! Genau so wenig wie pop bzw. die aktuelle version pop3. IMAP und POP sind beides Protokolle die für den Abruf von Mails verwendet werden. Bei pop kriegt man die Mails zwar aber sie werden eben nicht wie bei imap vom Server gelöscht, wenn man se über Outlook, etc., diese löschen würde.
Zu hackyourlife, ich habe auch schon über ssl das Ganze versucht.
Als Port habe ich 465 verwendet, welcher auch eigentlich stimmen müsste... .
Dann noch die Frage wie aktiviere ich die Fehlermeldungen auf Lima?
Ich habe in meiner PHP-Datei, den Error-Log aktivieren lassen:
error_reporting(E_ALL); // Melde alle PHP Fehler
Aber ich erhalte in diesem Fall keine einzige Fehlermeldung.
Habe einen Thread vom Jahre 2005 entdeckt, siehe hier. Ist SMTP auf Lima-city also gar nicht möglich? Wenn ich jetzt eine de Domain bei Lima kaufe, kann ich dann damit überhaupt mails versenden?
Beitrag zuletzt geändert: 12.7.2014 13:46:13 von master4860 -
Wieso benutzt du denn nicht die Mailfunktion von PHP über lima-city?
mail($empfaenger, $betreff, $text, "From: $absendername <$absendermail>");
-
Du kannst auch über einfachere Wege mails versenden. Mit PHP und mail(). Dort kannst du auch einen Absender angeben, der dann angezeigt wird. Dies passiert alles über die LIma-Server, wobei du standartmäßig 50 Mails pro Tag verschicken kannst, alle weiteren werden nach 24 Stunden abgeschickt. ;)
PHP Mail-versand -
Ja, weiß ich. Notfalls werde ich diese Funktion auch nutzen, aber meine eigentliche Frage ist und bleibt ja ob es auf Lima-city überhaupt möglich ist per SMTP mails zu versenden.
Die Mail-Funktion von Lima hat halt leider zwei Nachteile,
1. Diese ist begrenzt und
2. Es dauert rund 4 Minuten bis die Mail mal rausgeht, da der Spamschutz von Lima die Mail wohl noch überprüft. -
master4860 schrieb:
Ja, weiß ich. Notfalls werde ich diese Funktion auch nutzen, aber meine eigentliche Frage ist und bleibt ja ob es auf Lima-city überhaupt möglich ist per SMTP mails zu versenden.
Warum sollte man das überhaupt machen, wenn PHP solch eine Funktion mit sich bringt ?
Die Mail-Funktion von Lima hat halt leider zwei Nachteile,
1. Diese ist begrenzt
Man kann mehr dazu kaufen in den Auktionen. ;)
2. Es dauert rund 4 Minuten bis die Mail mal rausgeht, da der Spamschutz von Lima die Mail wohl noch überprüft.
Dann sind deine Mails aber ziemlich groß. Bei mir dauert es nur rund 1 Minute bis sie versendet werden. Wsa hast du denn eigentlich genau vor ? -
Wenn ich über eine Domain, wie beispielsweise abc.de, Mails versenden möchte - macht man das doch immer über SMTP oder nicht?
Was ich vorhabe, möchte ich jetzt noch nicht erwähnen da es noch nicht so weit fertig ist das man von einem genauen Vorhaben sprechen kann. Im Moment ist es einfach Projekt, dass ich wenn ich Zeit habe immer mal erweitere.
MfG. -
Nein, macht man nicht! Dafür gibt es wie schon gesagt die mail() Funktion von PHP. Im Header kannst du angeben, welche Absenderemail erscheinen soll, mehr dazu im PHP Manual. Dort kannst du einfach deine E-Mail eintragen z.B.: kontakt@cannadesign.de und wenn der User dann auf die Email antwortet landet sie in diesem Fall hier im Webmail.
Beitrag zuletzt geändert: 13.7.2014 13:33:00 von cannadesign -
cannadesign, bitte erklär mir nicht den Teil immer - ich weiß wie man auf diese Weise Mails versendet.
Wenn du dich aber wirklich auskennen solltest, oder falls sich hierbei wirklich jemand auskennt wäre es schön mal zu erfahren was der Vorteil an SMTP bzw. an der PHP mail() Funktion ist.
Kann man über SMTP seine E-Mail-Absenderadresse verifizieren bzw. halt eindeutiger machen?
Faken kann man die E-Mail-Absenderadresse natürlich immer, klar kann ich auch Mails versenden unter angegebener Mail facebook.de oder was auch immer. Ist natürlich nicht legal. Aber wie gesagt kann mir jemand den Vorteile bzw. die Vorteile mal nennen?
Bitte nur wenn Ihr Euch damit wirklich auskennt und nicht nur Halbwissen darüber besitzt, dass Ihr mal irgendwo aufgeschnappt habt.
Ich dachte da an einen erfahrenen User hier im Forum, beispielsweise sebulon. Den ich vom Wissen her mal nebenbei erwähnt, sehr schätze!
MfG
Beitrag zuletzt geändert: 13.7.2014 17:11:43 von master4860 -
Also ich find das Thema auch interessant, weil ich von anderen Freehostern weiss, das die interne Sendmail() Funktion von PHP deaktiviert worden ist und nur via SMTP von 3.-Anbietern, wie z.B. GoogleMail funktioniert.... Ja sowas soll es auch geben.
-
Schön wäre es wenn noch jemand mal eine Antwort schreibt auf die gestellte Frage.
Nebenbei möchte ich noch Fragen ob man für sich den Spam Assasin ausschalten kann, sodass die Mails sofort versandt werden?
MfG. -
master4860 schrieb:
Soweit ich weiss, gibt es dafür leide rkeine Möglichkeit. Einfach mal den Support fragen obwohl ich denke das du da schlechte Karten hast.
Nebenbei möchte ich noch Fragen ob man für sich den Spam Assasin ausschalten kann, sodass die Mails sofort versandt werden?
Quelle: PHPForum
SMTP_AUTH authentifiziert sich bei einem Mailserver über User/Passwort Kombination, die mail() Funktion von PHP versendet über den lokalen Sendmail.
In vielen Foren findet man, dass es kaum Unterschiede gibt und beides im Normalfall gleich gut funktioniert. Von daher würde ich einfach sagen, warum über SMTP versenden, wenn man es über den Server machen kann. Klar, wäre jetzt der Spam Assasine nicht, würdest du es vielleicht auch so sehen. -
master4860 schrieb:
Schön wäre es wenn noch jemand mal eine Antwort schreibt auf die gestellte Frage.
Nebenbei möchte ich noch Fragen ob man für sich den Spam Assasin ausschalten kann, sodass die Mails sofort versandt werden?
Versuch es doch einfach mal über diesen Weg, das Problem an richtiger Stelle heran zutragen -> Support-Ticket erstellen. Vielleicht funktioniert es ja so besser, eine "vernünftige aussagekräftige" Antwort zu erhalten, die sicher nicht nur mich interessieren würde -
Ich werde nun eins erstellen und verweise auch auf diesen Thread. Ich werde fragen ob SMTP überhaupt möglich ist auf lima-city und was eigentlich der genaue Unterschied bzw. eventuell welche Vorteile von SMTP gegenüber der Grundfunktion mail() von PHP zu erwarten sind.
#Edit:
Habe das Ticket nun erstellt, eventuell wird hier noch geantwortet durch jemandem vom Support (Habe den Thread, wie gesagt, mit angegeben.), ansonsten werde ich Euch über die Antwort vom Support informieren.
#Edit 2:
Um alle Fehlermeldungen anzuzeigen hat man 3 Möglichkeiten, siehe hier. Den Tipp habe ich vom Support erhalten und ich werde damit mein Script heute Abend (wenn ich wieder zu Hause bin) erneut testen. Wundern tut mich dennoch das es auf meinem lokalen Host einwandfrei funktioniert... . Okay nun zur kompletten Support Antwort, da diese wohl im Gesamten interessant sein könnte, für den Ein oder Anderen hier bei lima-city.
Hallo,
das Ganze teilt sich ja in zwei Fragenkomplexe:
a) Ist es möglich, über PHP Mails mittels SMTP zu versenden?
Ja, das ist möglich. error_reporting(E_ALL) reicht für die Fehlermeldungen nicht aus. Wie von php empfohlen haben wir auf dem Produktivsystem error-reporting abgeschaltet. Wie Fehlermeldungen aktiviert werden, steht in der Hilfe: http://mandrillapp.com/track/click.php?u=30245064&id=bf88428e07234d2e89bb5d0bea96ec91&url=http%3A%2F%2Fwww.lima-city.de%2Fhilfe%2Fich-bekomme-einen-fehler-angezeigt-was-kann-ich-tun&url_id=a39ecd76cd953740df38481ff9844f504b939899
Mit der Fehlermeldung lässt sich dann sicher mehr herausfinden.
b) Kann man SpamAssassin ausschalten / die Wartezeit verkürzen?
Nein, SpamAssassin kann nicht deaktiviert werden. Durch SpamAssassin werden die Mails aber auch nicht verzögert, sie werden schon bei der Einlieferung gescannt, soll heißen sobald die mail-Funktion returned ist die Mails bereits durch SpamAsssin durch (was man daran sieht, dass sie sofort mit Spam-Score in der Verwaltung auftaucht). Lediglich das Versenden wird jede 2. Minute durchgeführt, d.h. maximal vergehen zwischen dem Call an mail() und dem Versand 1:59. Dies wird in Zukunft wahrscheinlich noch optimiert werden.
Mit freundlichen Grüßen
Phillipp Röll
#Edit 3:
Nach erneutem Nachfragen, wurde nun festgestellt das dass Mails versenden per SMTP bisher tatsächlich nicht funktionieren würde bzw. wird. Da eine dafür nötige Funktion deaktiviert war. Die Frage ist halt nun wieso diese Funktion deaktiviert war, ich hoffe natürlich das die Funktion nun aktiviert bleiben kann - nur wenn sich gute Argumente gegen diese Funktion finden wird diese wohl wieder deaktiviert. Ich nehme ja an das diese Funktion damals nicht grundlos deaktiviert wurde. Vll. aber aus Versehen? Wer weiß...
Die genaue Support-Antwort auf mein Nachfragen sah/sieht wie folgt aus:
Hallo,
ich hatte schon vermutet, dass es möglicherweise an IPv6 liegt, aber die Verbindungen funktionieren, sofern ich sie über Telnet versuche:
http://paste42.de/f9f3568ff07e5cfdbc8873e56771badb/7189/
Von daher würde ich nun davon ausgehen, dass es sich um ein PHP-Problem handelt. Ich habe mir dann einfach mal den Output von PHPMailer angeschaut, wo dann sofort klar war, dass das Problem das "stream_socket_enable_crypto" war. Ich habe diese Funktion vorerst entsperrt. Damit funktioniert das Senden nun. Ich werde heute in der Team-Runde noch einmal absprechen ob es einen wichtigen Grund hatte, dass diese Funktion gesperrt war.
Mit freundlichen Grüßen
Phillipp Röll
Wie gesagt, demnach sollte es nun möglich sein per SMTP mails zu versenden - Leider verliefen meine Tests aber ohne Erfolg. Wie bereits erwähnt verwende ich die Mail-Klasse "PHPMailer".
Lokal funktioniert alles, hier kann ich nicht mit Gmail eine Verbindung herstellen. Vll. hat auch ein anderer Administrator die benötigte Funktion wieder deaktiviert/ausgeschalten. Ich konnte es erst jetzt testen, da ich früher nicht dazu gekommen bin.
// Fehlerausgabe: Connection: opening SMTP ERROR: Failed to connect to server: (0) SMTP connect() failed. Mailer Error: SMTP connect() failed.
Über die Standard Funktion mail() von PHP funktioniert hier natürlich alles wunderbar.
MfG
Beitrag zuletzt geändert: 15.7.2014 17:00:31 von master4860 -
Es wäre ganz nett wenn wir hier bei den Fakten bleiben können:
master4860 schrieb:
Nach erneutem Nachfragen, wurde nun festgestellt das dass Mails versenden per SMTP bisher tatsächlich nicht funktionieren würde bzw. wird. Da eine dafür nötige Funktion deaktiviert war.
Das ist Unsinn. Fakt ist, dass der Upgrade eines Stream auf TLS nicht funktioniert, weil die dafür notwendige Funktion gesperrt ist (noch immer, da ist noch eine interne Klärung anhängig).
SMTP funktioniert. SMTPS funktioniert (mit SMTPSecure 'ssl' und Port 465 in PHPMailer, habe ich getestet). TLS funktioniert nicht, weil das stream-upgrade nicht freigeschaltet ist. -
lordoflima schrieb:
Es wäre ganz nett wenn wir hier bei den Fakten bleiben können:
master4860 schrieb:
Nach erneutem Nachfragen, wurde nun festgestellt das dass Mails versenden per SMTP bisher tatsächlich nicht funktionieren würde bzw. wird. Da eine dafür nötige Funktion deaktiviert war.
Das ist Unsinn. Fakt ist, dass der Upgrade eines Stream auf TLS nicht funktioniert, weil die dafür notwendige Funktion gesperrt ist (noch immer, da ist noch eine interne Klärung anhängig).
SMTP funktioniert. SMTPS funktioniert (mit SMTPSecure 'ssl' und Port 465 in PHPMailer, habe ich getestet). TLS funktioniert nicht, weil das stream-upgrade nicht freigeschaltet ist.
Mich wundert wirklich das es über ssl funktionieren sollte, ich habe es damit nun noch einmal getestet... .
Hier mein PHPMailer-PHP-Code:
// PHPMailer - E-Mail über Gmail versenden function sendmail($email, $name, $betreff, $nachricht) { date_default_timezone_set(@date_default_timezone_get()); require 'PHPMail/PHPMailerAutoload.php'; $mail = new PHPMailer(); //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 3; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = 'smtp.gmail.com'; //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission $mail->Port = 465; //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'ssl'; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication - use full email address for gmail $mail->Username = "XXX@gmail.com"; //Password to use for SMTP authentication $mail->Password = "XXX"; //Set who the message is to be sent from $mail->setFrom('test@thecompany.com', 'The Company'); //Set an alternative reply-to address $mail->addReplyTo('XXX@gmail.com', 'XXX'); //Set who the message is to be sent to $mail->addAddress(''.$email.'', ''.$name.''); //Set the subject line $mail->Subject = $betreff; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML($nachricht); $mail->CharSet = 'UTF-8'; // the same as 'utf-8' // send message $mail->send(); }
Lokales Ergebnis: Funktioniert auch über ssl einwandfrei, der Log sieht folgendermaßen aus:
Connection: opening
Connection: opened
SERVER -> CLIENT: 220 mx.google.com ESMTP wd7sm32714740wjc.36 - gsmtp
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-mx.google.com at your service, [XXX.XXX.XX.XX]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN250-ENHANCEDSTATUSCODES250 CHUNKING
CLIENT -> SERVER: AUTH LOGIN
SERVER -> CLIENT: 334 VXNlcm5hbWU6
CLIENT -> SERVER: YW5kaW1nOTNAZ21haWwuY29t
SERVER -> CLIENT: 334 UGFzc3dvcmQ6
CLIENT -> SERVER: MWNiMmYyMzAxOTkz
SERVER -> CLIENT: 235 2.7.0 Accepted
CLIENT -> SERVER: MAIL FROM:<test@thecompany.com>
SERVER -> CLIENT: 250 2.1.0 OK wd7sm32714740wjc.36 - gsmtp
CLIENT -> SERVER: RCPT TO:<XXX@XXX.com>
SERVER -> CLIENT: 250 2.1.5 OK wd7sm32714740wjc.36 - gsmtp
CLIENT -> SERVER: DATA
SERVER -> CLIENT: 354 Go ahead wd7sm32714740wjc.36 - gsmtp
CLIENT -> SERVER: Date: Tue, 15 Jul 2014 19:03:04 +0200
CLIENT -> SERVER: To: asdadad <XXX@XXX.com>
CLIENT -> SERVER: From: The Company <test@thecompany.com>
CLIENT -> SERVER: Reply-To: Max Mustermann <XXX@XXX.com>
CLIENT -> SERVER: Subject: =?UTF-8?Q?Priorit=C3=A4t:_normal?=
CLIENT -> SERVER: Message-ID: <bf7b717d545e63a06ef4edc000d6e3b4@localhost>
CLIENT -> SERVER: X-Priority: 3
CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.8 (https://github.com/PHPMailer/PHPMailer/)
CLIENT -> SERVER: MIME-Version: 1.0
CLIENT -> SERVER: Content-Type: multipart/alternative;
CLIENT -> SERVER: boundary="b1_bf7b717d545e63a06ef4edc000d6e3b4"
CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_bf7b717d545e63a06ef4edc000d6e3b4
CLIENT -> SERVER: Content-Type: text/plain; charset=UTF-8
CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
CLIENT -> SERVER:
CLIENT -> SERVER: Nachricht von, test lokal !
CLIENT -> SERVER: Die Nachricht lautet wie folgt:
CLIENT -> SERVER: test lokal
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: Erweiterte Kundeninformationen
CLIENT -> SERVER: Kunden-E-Mail-Adresse: XXX.de
CLIENT -> SERVER: Kunden-Ip-Adresse: XXX
CLIENT -> SERVER: Priorität: normal
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_bf7b717d545e63a06ef4edc000d6e3b4
CLIENT -> SERVER: Content-Type: text/html; charset=UTF-8
CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: <html>
Innerer html Teil, spielt hierbei keine Rolle und deswegen habe ich diesen entfernt. (Macht den Log schließlich kürzer)
CLIENT -> SERVER: </html>
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER:
CLIENT -> SERVER: --b1_bf7b717d545e63a06ef4edc000d6e3b4--
CLIENT -> SERVER:
CLIENT -> SERVER: .
SERVER -> CLIENT: 250 2.0.0 OK 1405443794 wd7sm32714740wjc.36 - gsmtp
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 221 2.0.0 closing connection wd7sm32714740wjc.36 - gsmtp
Connection: closed
Alle XXX sind von mir eingefügt worden, da meine IP-Adresse etc. keine Rolle spielen sollte und ich dies anschließend damit eben zensiert habe.
Und auf lima-city kriege ich folgendes Ergebnis:
Connection: opening
SMTP ERROR: Failed to connect to server: (0)
SMTP connect() failed.
Ist nicht viel aber eindeutig, es kann keine Verbindung mit dem Server hergestellt werden.
Wenn es bei dir funktioniert, wäre es schön wenn du mal deinen PHPMailer-PHP-Code zeigen könntest.
Denn wie gesagt, es funktioniert lokal zu 100% - ich erhalte auch anschließend die entsprechende E-Mail, aber bei lima-city funktioniert es einfach nicht.
MfG.
Beitrag zuletzt geändert: 15.7.2014 19:15:02 von master4860 -
Folgender Code funktioniert für mich:
$mail = new PHPMailer(); //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages $mail->SMTPDebug = 3; //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = 'smtp.gmail.com'; //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission $mail->Port = 465; //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'ssl'; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication - use full email address for gmail $mail->Username = "*********@gmail.com"; //Password to use for SMTP authentication $mail->Password = "*************"; //Set who the message is to be sent from $mail->setFrom('test@thecompany.com', 'The Company'); //Set an alternative reply-to address $mail->addReplyTo('x'); //Set who the message is to be sent to $mail->addAddress('x@y.de'); //Set the subject line $mail->Subject = $betreff; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->msgHTML('test'); $mail->CharSet = 'UTF-8'; // the same as 'utf-8' // send message $mail->send();
Es kommt dann der Debug-Output:
Connection: opening to ssl://smtp.gmail.com:465, t=10, opt=array () Connection: stream_socket_client not available, falling back to fsockopen Connection: opened SERVER -> CLIENT: 220 mx.google.com ESMTP r14sm6354472wik.3 - gsmtp CLIENT -> SERVER: EHLO lordoflima.lima-city.de SERVER -> CLIENT: 250-mx.google.com at your service, [2a00:f48:2000:affe::50]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN250-ENHANCEDSTATUSCODES250-PIPELINING250 CHUNKING CLIENT -> SERVER: AUTH LOGIN
Dieser Code verwendet die PHPMailer-Klasse aus dem aktuellen master-Branch von https://github.com/PHPMailer/PHPMailer
Wichtig: Es scheint ein Problem mit PHPMailer gewesen zu sein, das mit dem commit 7c74d52837 behoben wurde! Siehe Issue 243: https://github.com/PHPMailer/PHPMailer/issues/243
Edit: Mit TLS funktioniert es nun auch, da wir stream_socket_enable_crypto freigeschaltet haben.
Beitrag zuletzt geändert: 15.7.2014 20:34:46 von lordoflima -
Vielen herzlichen Dank!
Ganz wichtig für alle ist wie lordoflima schon vermutet hatte, falls Ihr eine PHPMailer Version verwendet mit der das versenden nicht klappt - löscht die Dateien und ersetzt diese durch die aktuelle Version.
Es ging bei mir nämlich eben wieder nicht und dann habe ich die aktuellste Version von PHPMailer eingespielt und es funktioniert nun alles wie es sollte! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage