PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php mail()



Rettungsdackel
13.09.05, 14:30
Hallo Leute,

wenn Mails über php mail() Funktion verschickt werden, kommt beim Empfänger nur Buchstabensalat an.
In der php.ini ist alles richtig eingestellt und bei Sendmail find ich auch keinen Fehler.
Hat da jemand eine Idee, wo ich noch suchen könnte?

System:
SuSE Linux 9.2
PHP 4.3.8
Sendmail 8.13.1, Konfiguration V10/Berkeley

Fehlermeldung im Err-Log:
persistent queue runner control process: lost all children: wait returned ECHILD

Polarizer
14.09.05, 08:20
Tja, dann zeig' doch mal so'nen Salat her!

Rettungsdackel
14.09.05, 13:22
Hi,

Eingegeben: Testmail

Angekommen:
RGVpbmUgTmFjaHJpY2h0OgoKV2VicmFkaW8tU2FyZGVnbmEKSW hyIE5hbWUgICAgR2hvc3R3cml0
ZXIKV29obm9ydCAgICAKRS1tYWlsIEFkcmVzc2UgIGdob3N0d3 JpdGVyQHdlYnJhZGlvLXNhcmRl
Z25hLmRlCk1FU1NBR0UgOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS 0tLS0tLQoKVGVzdG1haWwKCgoK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSWhyZSBBbmZyYW dlIHd1cmRlIMO8YmVybWl0dGVs
dC4gSW4gS8O8cnplIGVyaGFsdGVuIFNpZSBkaWUgQmVzdMOkdG lndW5nIHBlciBFbWFpbAo=

crazygeek
14.09.05, 13:33
sieht für meine augen aus wie ein attachment!?!?!

Rettungsdackel
14.09.05, 17:28
Das ist das Ergebnis einer Mail über ein Feedbackformular, also kein Attachment

Polarizer
15.09.05, 07:54
So wie es aussieht, wird dein Mailbody automatisch Base64 encodiert!

Google mal nach "LS0tLS0t", wie aus in Deinem Beispiel vorkommt. Du mußt also in PHP mit base64_decode[1] wieder decodieren.

Hat das geholfen?

[1] http://www.dynamic-webpages.de/php/function.base64-decode.php

Rettungsdackel
15.09.05, 10:28
Danke Polarizer,

werd ich mal nachsehen und mich dann nochmal melden :-)

Rettungsdackel
15.09.05, 21:23
Hallo,

also google bringt mich da wirklich nicht richtig weiter, eben so die verlinkte Seite :-(


Du mußt also in PHP mit base64_decode[1] wieder decodieren.
Wo wird php das normalerweise gesagt, das es das zu decodieren hat?
Das Problem haben wir mit allen mails, die von irgendwelchen Scripten über die php mail() geschickt werden.

Polarizer
16.09.05, 10:34
Zeig doch mal den kompletten Text so einer Mail her - mit allen Headern usw.

Polarizer
16.09.05, 10:41
BTW: Ich dachte da an so etwas:
mail($to,$subject,base64_decode($body))

Rettungsdackel
16.09.05, 18:54
Eingabe: Testmail

Ausgabe:
RGVpbmUgTmFjaHJpY2h0OgoKV2VicmFkaW8tU2FyZGVnbmEKSW hyIE5hbWUgICAgR2hvc3R3cml0
ZXIKV29obm9ydCAgICAKRS1tYWlsIEFkcmVzc2UgIGdob3N0d3 JpdGVyQHdlYnJhZGlvLXNhcmRl
Z25hLmRlCk1FU1NBR0UgOgoKLS0tLS0tLS0tLS0tLS0tLS0tLS 0tLS0tLQoKVGVzdG1haWwKCgoK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSWhyZSBBbmZyYW dlIHd1cmRlIGJlcm1pdHRlbHQu
IEluIEtyemUgZXJoYWx0ZW4gU2llIGRpZSBCZXN0dGlndW5nIH BlciBFbWFpbAo=



Return-Path: <wwwrun@hamburg074.server4you.de>
Received: from hamburg074.server4you.de (localhost [127.0.0.1])
by hamburg074.server4you.de (8.13.1/8.13.1/SuSE Linux 0.7) with ESMTP id j8GHoRnu005834
for <na_ich@meine_mail.de>; Fri, 16 Sep 2005 19:50:29 +0200
Received: (from wwwrun@localhost)
by hamburg074.server4you.de (8.13.1/8.13.1/Submit) id j8GHoQL2005833;
Fri, 16 Sep 2005 19:50:26 +0200
Date: Fri, 16 Sep 2005 19:50:26 +0200
To: na_ich@meine_mail.de
Subject: Du hast ein FeedBack geschickt an: Webradio-Sardegna
MIME-Version: 1.0
X-Mailer: vkpMX 2.0 from http://maax-design.de
mx-Message-ID: <imx882.ng7l97.1126893026@xxx.sardcom.de>
From: Webmaster: Webradio-Sardegna <webmaster@webradio-sardegna.de>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Message-ID: <imx882.54o493@xxx.sardcom.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64
X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on
hamburg074.server4you.de
X-Spam-Level:
X-Spam-Status: No, score=-1.1 required=5.0 tests=ALL_TRUSTED,
HEADER_COUNT_CTYPE autolearn=failed version=3.0.4
X-UIDL: A>^"!+A?!!Jf<"!^U;"!

Polarizer
19.09.05, 08:18
Tja, da stehts dann doch auch.


Content-Transfer-Encoding: BASE64

Die Mail ist einfach nur BASE64[1] codiert, und Dein Mailclient macht sich nix aus der Mailheaderangabe und zeigt nur den codierten Text an. Womit läßt Du den die Mails anzeigen?

[1] http://www.freesoft.org/CIE/RFC/1521/7.htm

Rettungsdackel
19.09.05, 13:42
Hallo Polarizer,

anzeigen lasse ich mir die Mail im Outlook Express, da es ja das meistverwendetste Mailprogramm ist.

Ich danke Dir erstmal für den Link, werd mich da mal durchwuseln

Polarizer
19.09.05, 13:53
Ich denke mal OE wird's nicht anzeigen, weil bereits vorher eine andere Codierung angegeben wurde

Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit und dann

Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: BASE64.
Das kann ja eigentlich nur beim Erstellen der Mail passiert sein, liegt also entweder an den Einstellungen von PHP oder des Mailers auf dem Webserver.

Rettungsdackel
23.09.05, 12:05
Hallo Gemeinde,

Problem gelöst, bin durch Zufall bei google auf was gestoßen.

in der php.ini 'mbstring.func_overload =7' in 'mbstring.func_overload =6' geändert, schon geht php mail() vernünftig

Trotzdem nochmal Danke für die Hilfe :-)

uexl
05.10.05, 16:22
@rettungsdackel


super vielen dank, hatte das gleiche Problem und konnte es mit deinem tipp lösen!


MfG
alexander