Versenden von UTF-8-E-Mails
Beim Versenden von E-Mails ist es wichtig, die Zeichenkodierung richtig zu handhaben, um verstümmelte Zeichen zu vermeiden. Ein häufiges Problem ist die Kodierung nicht-englischer Zeichen, wie sie beispielsweise in verschiedenen Sprachen verwendet werden.
Im bereitgestellten Szenario stand der Absender vor dem Problem, dass nicht-englische Zeichen nach dem Senden einer E-Mail als unleserlicher Text angezeigt wurden. Trotz des Hinzufügens von Content-Type- und Charset-Headern besteht das Problem weiterhin.
Um dies zu beheben, besteht der Schlüssel darin, den Header Content-Type: text/html; charset=UTF-8 im Nachrichtentext. Dieser Header informiert E-Mail-Clients darüber, dass die Nachricht im HTML-Format vorliegt und die UTF-8-Zeichenkodierung verwendet, sodass sie alle Zeichen korrekt anzeigen können.
Mit der nativen Funktion mail() kann dieser Header als angegeben werden vierter Parameter:
mail($to, $subject, $message, $headers);
Wobei $headers eine Zeichenfolge ist, die den Content-Type-Header enthält.
Im Fall der Verwendung von PEAR Mail::factory()-Bibliothek:
$smtp = Mail::factory('smtp', $params); $mail = $smtp->send($to, $headers, $body);
Hier ist $headers ein Array, das den Content-Type-Header enthält.
Durch Hinzufügen des entsprechenden Content-Type-Headers wird die E-Mail erstellt mit korrekter Zeichenkodierung gesendet, um sicherzustellen, dass nicht-englische Zeichen im E-Mail-Client des Empfängers ordnungsgemäß angezeigt werden.
Das obige ist der detaillierte Inhalt vonWie kann die korrekte Zeichenkodierung in UTF-8-E-Mails mithilfe von PHPs „mail()' und PEAR Mail sichergestellt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!