October 17, 201015 yr Hallo, ich hab seit Wochen ein Problem das ich zwar reproduzieren aber leider nicht l?sen kann. In einem PHP-Script wird per Mail() eine E-Mail verschickt. Daf?r werden zu den 3 erforderlichen Parametern noch die Header-Infos mir gegeben. Leider machen genau diese Infos Stress. Hier mal eine Beispiel-Mail wie sie bei mir ankommt: Content-type: text/html; charset=iso-8859-1 From: TESTMAIL<TESTMAIL@xxx.de> Message-Id: <20101016225107.6DEF84E2D3CE@yyy.de> Date: Sun, 17 Oct 2010 00:51:07 +0200 (CEST) TESTTESTTEST Das ist das, was mir mein Mail-Programm anzeigt und dieses ist nicht so eingestellt, das die Header-Infos mit angezeigt werden sollen. Generell w?re ich ja hingegangen und h?tte das Script umgeschrieben, aber leider geht das nicht das es per Ioncube verschl?sselt wurde. Ich wei? nur, das die Mail-Funktion benutzt wird, kann es aber nicht ?ndern. Dazu kommt dann noch, das die Mails nicht an den Empf?nger, sondern an den Versender geschickt werden. Ich gehe davon aus, das es an der PHP.ini liegt, konnte aber noch keine L?sung entsprechend finden. Vielleicht hat einer von euch ein ?hnliches Problem schonmal gehabt und kann mir helfen. Danke schonmal Gruss cardman
October 17, 201015 yr Scheint wohl ein externes Script zu sein was auch noch per Ioncube verschl?sselt ist. Ich wage zu bezweifeln das das gro? was mit der php.ini zu tun hat, meine 3-4 versch. Mail-Scripts funktionieren alle problemlos. Liegt wohl eher an denen...
October 17, 201015 yr Author Hallo d00p, ich hab ein Testscript angelegt: <?php $header = ''; $header .= 'MIME-Version: 1.0' . "\r\n"; $header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $header .= 'From: TESTMAIL<TESTMAIL@xxx.de>' . "\r\n"; mail('cardman@xxx.de',"TESTBETREFF","TESTTESTTEST",$header); ?> Und diese Mail kommt zum einen bei der Mail-Addresse an, die in der PHP.ini beim Sendmail und sieht dann so aus, wie ich oben schon gepostet hatte. Ich kann das Problem also reproduzieren. Gruss cardman
October 17, 201015 yr Author Hier mal noch der Eintrag aus der PHP.ini: sendmail_from = "info@xxx.de" sendmail_path = "/usr/sbin/sendmail -t -i info@xxx.de"
October 17, 201015 yr Author Ich konnte jetzt noch feststellen, das immer nur die erste Zeile des Headers auch f?r diesen verwendet werd und alles was danach kommt, wird in die Nachricht selber geschrieben.
October 17, 201015 yr Author Ich glaube ich hab den Fehler gefunden. $header .= 'MIME-Version: 1.0' . "\r\n"; Das "\r" ist zu viel, das will er nicht. Kann man das irgendwo im Mailserver umstellen, das er das doch akzeptiert? Gruss cardman P.S. als MTA ist Postfix im Einsatz.
October 17, 201015 yr Author Das Problem besteht aber erst seit ich den Server gewechselt hab. Davor ging es eben genau so mit dem "\r\n" Auf anderen Servern funktioniert das auch mit dem "\r\n". Hier ein Auszug aus PHP.NET: Wenn E-Mails nicht ankommen, versuchen Sie bitte, nur das LF-Zeichen (\n) zu verwenden. Einige UNIX-MTAs (mail transfer agents) ersetzen leider LF durch CRLF (\r\n) automatisch (wodurch das CR-Zeichen verdoppelt wird, wenn CRLF verwendet wird). Dies sollte aber nur in Ausnahmef?llen geschehen, da es gegen ? RFC 2822 verst??t. Trotzdem Danke
October 17, 201015 yr Naja, hast du evtl. auf dem anderen Server eine andere PHP-Version oder ?hnliches? Vergleiche mal die php.ini's vielleicht findest du was
October 17, 201015 yr Author Das Problem ist ein Bug von PHP scheinbar: PHP Bug Da werde ich dann wohl doch die Scripte anpassen lassen m?ssen.
Archived
This topic is now archived and is closed to further replies.