Kryptische Zeichen in mit mail() versandter eMail

soezkan

Erfahrenes Mitglied
Hallo Leute,

aus irgendeinem Grund, verschickt mit mein mail() ein komische Zeichenformat,
denn in meinem Posteingang sehe ich dann lauter krsptische Zeichen wie


Meine Aufruf der Funktion ist so:
PHP:
@mail($email, $betreff, $nachricht, "MIME-Version: 1.0\nContent-type: text/plain; charset=ISO-8859-1\nFrom: eine@email.de");

Ich dachte eigentlich dass die header-Angabe charset=ISO-8859-1 das Problem
behebt, ist aber nicht so.

Die PHP-Datei, die das ganze macht, ist auch als ISO-8859-1 gespeichert.

Was mache ich da bloß falsch?

Liebe Grüße
Selim
 
Exampe #2 @ php.net :
PHP:
<?php
$empfaenger = 'niemand@example.com';
$betreff = 'Der Betreff';
$nachricht = 'Hallo';
$header = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($empfaenger, $betreff, $nachricht, $header);
?>

Wieso nur was falsches ankommt liegt an den Headerinfos:

Code:
Content-type: text/plain; charset=ISO-8859-1

___________________________________________________


Besser Lösung:

PHP:
<?php function send_mail($to, $subject, $iso_message) {   

$utf8_message = @iconv('ISO-8859-1', 'UTF-8', $iso_message);   

$header = 'Content-Type: text/plain; charset=ISO-8859-1';  

mail($to, $subject, $utf8_message, $header); } ?>

Bei Benutzung dieser Funktion solltest du auch schon beim Formular darauf achten, dass auch wirklich Daten im ISO-8859-1 Format ankommen ;)
 
Ich nutz in meiner Klasse eine Funktion aus der mbstring-Extension um den Zeichensatz zu erkennen:
PHP:
$mail.='Content-Type: text/plain;'."\r\n\t".'charset="'.strtolower(mb_detect_encoding($this->textbody)).'"'."\r\n";
 
Danke für die Antwort,
nur hat mir die Variante auch nicht gebracht.

Ich glaube das Problem, ist, dass ich zum Coden einen Mac benutze
und der macht mir das Problem!

Habe schon geschaut obs nicht zuletzt die PHP Datei als UTF8
gespeichert wurde ist aber nicht.

Was mache ich da bloss.

Mit Deiner Lösung hat er mir sogar noch ein kryptische Zeichen
jeweils mehr davor gesetzt.

Hm hm hm ...

Danke für mehr Tipps!

Liebe Grüße
Soezkan
 
Zurück