Gewusst wie: senden von UTF-8 E-Mail?
Wenn ich senden die E-Mail, die E-Mail nicht zeigen, andere Zeichen als Englisch.
Es zeigt, wie unten:
ä½™ç"Ÿä"ä"
Vielleicht wissen tatsächlich, was der Grund HIERFÜR sein?
Auch ich habe versucht, mit zusätzlichen Content-type und charset in der Skript, es zeigen immer noch die gleichen.
Ich verwendet Mail::Factory("mail");
Was verwenden Sie? native
Sie müssen darüber hinaus kümmern sich die Ziel-E-Mail-clients. Selbst wenn Sie es schaffte Sie zum anzeigen der E-Mail richtig in Ihrem E-Mail-client bedeutet nicht, dass Ihre Kunden werden sehen, die E-mail korrekt an. Am Ende Baue ich immer html-E-Mails mit utf-8-charset-header. Diese Weise die meisten E-Mail-clients zeigen den Inhalt korrekt an.
ja, genau, was ich tun möchte, die Anzeige der Inhalte mit utf-8-Zeichensatz, aber ich kann immer noch nicht sehen, die E-Mail richtig.
Content-Type und charset genau das, was Sie brauchen, um diese Arbeit zu machen, aber Sie brauchen, um uns mehr Informationen. Können Sie zeigen Sie uns den code. und/oder die resultierende Botschaft ist die Quelle? Sind Sie sicher, dass Ihre Daten korrekt utf8-kodiert?
hier ist mein Beispiel code:
mail()
oder Zend_Mail
oder PHPMailer
? Müssen Sie einige code, der die Factory-Methode!Sie müssen darüber hinaus kümmern sich die Ziel-E-Mail-clients. Selbst wenn Sie es schaffte Sie zum anzeigen der E-Mail richtig in Ihrem E-Mail-client bedeutet nicht, dass Ihre Kunden werden sehen, die E-mail korrekt an. Am Ende Baue ich immer html-E-Mails mit utf-8-charset-header. Diese Weise die meisten E-Mail-clients zeigen den Inhalt korrekt an.
ja, genau, was ich tun möchte, die Anzeige der Inhalte mit utf-8-Zeichensatz, aber ich kann immer noch nicht sehen, die E-Mail richtig.
Content-Type und charset genau das, was Sie brauchen, um diese Arbeit zu machen, aber Sie brauchen, um uns mehr Informationen. Können Sie zeigen Sie uns den code. und/oder die resultierende Botschaft ist die Quelle? Sind Sie sicher, dass Ihre Daten korrekt utf8-kodiert?
hier ist mein Beispiel code:
$mail = Mail::factory("mail");
$to = "[email protected]";
$body = "好信";
$headers = array("Content-type =>"text/plain: charset=\"UTF-8","From" => "[email protected]","To" => "[email protected]","Subject" => "Test Send Chinese mail-好信");
$mail->send($to, $headers, $body);
Ist das richtig? Es zeigt nicht das, was ich erwarte. Es sollte anzeigen, chinesischen Wort in der Körper -, Kopf-oder sogar unterliegen.
InformationsquelleAutor deepWebMie | 2011-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie add header "Content-Type: text/html; charset=UTF-8", um Ihre Nachricht Körper.
Wenn Sie native
mail()
Funktion $Header array wird der 4. parametermail($to, $subject, $message, $headers)
Wenn Sie Benutzer PEAR Mail::factory () - code:
Die E-Mail-tools stil-Verwendung von 7-bit-Codierung ?
Der 4. parameter an php
mail()
ist ein string, kein array!!Schreiben Sie
charset=UTF-8
ohne AnführungszeichenUTF-8
!Verwenden Sie nur
text/html
wenn senden Sie eine E-Mail im HTML-format. Für nur-text-E-Mails, die Sie wollentext/plain
.InformationsquelleAutor s.webbandit
Ich bin mit eher angegebenen charset (ISO-8859-2), da nicht jedes mail-system (zum Beispiel: http://10minutemail.com) Lesen können UTF-8-mails. Wenn Sie dies benötigen:
Habe ich aus einem anderen mailer-Funktion, weil apple-Gerät konnte nicht gut Lesen der vorherigen version.
Und was ist, wenn Sie zu senden versuchen, Inhalte, die nicht dargestellt werden können, die in ISO-8859-2?!
$headers.= "From: =?utf-8?b?".base64_encode($from_name)."?= <".$from_a.">\r\n";
diese Zeile ist mein problem gelöst, vielen Dank!Betrachten Sie zitiert druckbare Codierung für die Lesbarkeit im nur-text-Mailer, es ist nur einfach so:
'=?utf-8?Q?' . quoted_printable_encode($string) . '?='
Danke, meine auch.
InformationsquelleAutor