Je rencontre des difficultés pour envoyer des emails avec du contenu arabe en utilisant la fonction mail de PHP. Disons que j'ai cette simple chaîne arabe:Comment envoyer des emails avec du contenu arabe via la fonction mail de PHP?
بريد
J'ai essayé plusieurs façons de tous finissent toujours utiliser les en-têtes, mais le contenu des e-mails avec quelque chose comme: X*X1X(X1Y X/
. Cependant, l'objet du message est codé correctement si j'utilise des caractères arabes (grâce à la base64_encode, voir la fonction ci-dessous)
est ici l'une des fonctions de courrier électronique que j'ai essayé
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);
}
Toutes les suggestions sur d'autres façons de atteindre cet objectif?
Je ne comprends pas. Quel est le problème? vous dites que le sujet de l'e-mail est correctement encodé ... cela ne fonctionne-t-il pas aussi bien pour le corps? – Teekin
Correct, l'objet de l'e-mail peut être affiché correctement en utilisant base64_encode, mais vous ne pouvez pas utiliser base64_encode ($ email_content). Voir la fonction d'exemple ci-dessus. – Coreus