2012-11-30 6 views
9

Ich brauche deutsche E-Mails, die Umlaute enthalten. In der E-Mail selbst funktioniert das einwandfrei, aber nicht im Betreff der E-Mail. Ich habe viele verschiedene Umlaut-Buchstaben ausprobiert und sie scheinen alle außer dem ü zu funktionieren. Ich habe auch versucht, verschiedene Mail-Bibliotheken (HTMLMimeMail & PHPMailer) und sie nicht beide auf diese:Wie setze ich einen Umlaut ü im Betreff der Mail

$mail = new htmlMimeMail(); 
$mail->setTextEncoding("base64"); 
$mail->setHTMLEncoding("base64"); 
$mail->setTextCharset("UTF-8"); 
$mail->setHTMLCharset("UTF-8"); 
$mail->setHeadCharset("UTF-8"); 
$mail->setSMTPParams(mailinglist_smtp_host,mailinglist_smtp_port); 
$mail->setHtml("test"); 
$mail->setFrom("[email protected]");  

$mail->setSubject("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't"); 

$recipients[] = "[email protected]";  
$mail->send($recipients); 

&

$mail = new PHPMailer(); 
$mail->IsMail(); 
$mail->FromName = 'test'; 
$mail->From = '[email protected]'; 
$mail->AddAddress("[email protected]"); 
$mail->Subject = "The ï, ö, ë, ä, and é work, but when adding the ü it doesn't"; 
$mail->Body = "test";  
$mail->Send(); 

Kann mir jemand helfen, die Quelle und die Lösung für dieses Problem zu finden?

Antwort

8

Sie sollten quoted-printable Codierung der Betreffzeile.

So:

$mail->Subject = "=?UTF-8?Q?" . quoted_printable_encode("The ï, ö, ë, ä, and é work, but when adding the ü it doesn't") . "?="; 

quoted-printable kodieren in PHP: http://www.php.net/manual/en/function.quoted-printable-encode.php

Edit: $mail->CharSet = "UTF-8"; hat seinen Zweck erfüllt.

+0

Danke, aber das hat es nicht gelöst. Das Subjekt wird nun zu: =? UTF-8? Q? Das = C3 = AF, = C3 = B6, = C3 = AB, = C3 = A4 und = C3 = A9 funktionieren, aber wenn man das == C3 = BC es nicht? = – Sander

+4

Hmm vielleicht ist es genug, '$ mail-> CharSet =" UTF-8 ";', und entfernen Sie die quoted-druckbare Sachen. Probieren Sie es aus und lassen Sie mich wissen, wie es funktioniert! –

+0

Super, das hat den Job für den PHPMailer erledigt :). Vielen Dank. Nun, wie Sie in meinem Mimemail-Code sehen können, habe ich eine ähnliche Option wie diese versucht, aber anscheinend habe ich die richtige Einstellung verpasst. Weißt du vielleicht, was ich in Mimemail einstellen muss, um den gleichen Fix anzuwenden? – Sander