Mail-Subjekt "[RMX:WL]"

M3Y3R

Well-known member
ID: 336361
L
8 Mai 2006
1.608
60
Hallo,

ich habe mit der PHP-Mail-Funktion ein Problem und komme hier nicht weiter. Vielleicht hatte einer von euch schon einmal ein ähnliches Problem und kann mir ggf. Hilfestellung geben.

Über die Mail-Funktion wird eine E-Mail an mein Privat-Postfach (sowhol Web-Dienst, als auch Thunderbird) verschickt. Im Web-Anbieter wird in der Übersicht der Mails alles korrekt angezeigt. Öffne ich aber die Mail, werden im Betreff die Umlaute nicht korrekt angezeigt.

Aus "Anfrage für..." wird "Anfrage für".

Das E-Mail selbst verschicke ich wie folgt:
PHP:
//Header setzen
$mailHeader= 'MIME-Version: 1.0' . "\n";
$mailHeader.= 'Content-type: text/html; charset=ISO-8859-1' . "\n";

//Zusätzliche Header-Parameter
$mailHeader.= 'From: <' . $fromMail . '>' . "\n";
$mailHeader.= 'Reply-To: <' . $fromMail . '>' . "\n";
$mailHeader.= 'X-Mailer: PHP ' . phpversion() . "\n";

//E-Mail verschicken
$mailResult =  mail($mailRecipient, $mailSubject, $mailBody, $mailHeader);

Das E-Mail selbst beinhaltet HTML.

Sofern ich das Encoding umstelle, wird alles fehlerhaft angezeigt.+
Hin und wieder kommt der Betreff auch wie folgt an:
[RMX:WL] Anfrage f?r...

Was "[RMX:WL]" bedeuten soll, kann ich nicht sagen. Leider gibt hier Google auch nicht viel her.
Ich habe auch schon versucht, nur den Betreff ein neues Encoding mb_convert_encoding() auf UTF-8 oder Iso-8859-14 und is-8859-15 umzustellen, aber nichts dergleichen brachte Abhilfe...

Ich hoffe ihr könnt mir helfen!


Viele Grüße
Papenburger
 
Das encoding im Subject (und anderen Headern) funktioniert anders als im Body. Insbesondere hat das im Content-Type angegebene Encoding gar nichts mit dem Subject zu tun.

Versuch mal sowas hier (siehe https://www.php.net/manual/en/function.mail.php ):

$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

(Vorausgesetzt $subject ist in UTF-8, aber danach sieht's ja aus.)

pco
 
Das encoding im Subject (und anderen Headern) funktioniert anders als im Body. Insbesondere hat das im Content-Type angegebene Encoding gar nichts mit dem Subject zu tun.
Dann wundert es mich, dass das Subject anders angezeigt wird, sobald ich den Content-Type ändere...

Versuch mal sowas hier (siehe https://www.php.net/manual/en/function.mail.php ):
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";
(Vorausgesetzt $subject ist in UTF-8, aber danach sieht's ja aus.)
Das schaue ich mir mal genauer an, danke für den Ansatz!

Tip: PHPMailer :D
Warum das Rad neu erfinden?
Wenn ich das richtig sehe, ist das eine externe Library. Dies bedeutet für mich, dass ich es leider nicht einsetzen kann/darf... :(