Wie sende ich E-Mails mit Arabisch-Inhalte via PHP-mail Funktion?

Ich habe eine Herausforderung mit dem Versand von E-Mails mit Arabisch-Inhalte mit Hilfe von PHP-mail-Funktion. Lassen Sie uns sagen, dass ich diese einfache Arabische Zeichenfolge:

بريد

Ich habe versucht, mehrere Möglichkeiten zu nutzen, um den Header, aber die E-Mails Inhalte alle noch am Ende mit etwas wie: X*X1X(X1Y X/. Aber der Betreff einer E-Mail richtig codiert ist, wenn ich mit arabischen Zeichen (Dank der base64_encode, siehe Funktion weiter unten)

Hier ist eine der E-Mail-Funktionen, die ich ausprobiert habe

function sendSimpleMail($to,$from,$subject,$message) {
    $headers = 'MIME-Version: 1.0' ."\r\n";
    $headers .= 'To: '.$to ."\r\n";
    $headers .= 'From: '.$from . "\r\n";
    $headers .= 'Content-type: text/plain; charset=UTF-8; format=flowed' . "\r\n";
    $headers .= 'Content-Transfer-Encoding: 8bit'."\r\n";

    mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=',$message, $headers);
}

Irgendwelche Vorschläge zu alternativen Möglichkeiten, um dieses Ziel zu erreichen?

  • Ich verstehe es nicht. Was ist das problem? Sie sagen, dass die e-mail-Betreff ist richtig codiert... tut es nicht für den Körper als auch?
  • Korrekt, die E-Mail-Betreff richtig angezeigt werden, indem Sie mit base64_encode, aber Sie nicht verwenden können, base64_encode($email_content). Beispiel siehe Funktion oben.
InformationsquelleAutor Coreus | 2010-02-25
Schreibe einen Kommentar