E-mail de PHP a cassé l'en-tête de l'encodage

Mon script PHP envoie un email aux utilisateurs et lors de la réception d'un email à leurs boîtes aux lettres, la ligne de sujet ($subject) a des personnages comme a^£ ajouté à la fin de mon texte de l'objet. C'est à l'évidence et l'encodage de problème. L'e-mail le contenu du message lui-même est très bien, juste la ligne d'objet est cassé.

J'ai cherché partout mais impossible de trouver la façon de coder mon sujet correctement.

C'est ma tête. Notez que je suis en utilisant Content-Type avec charset=utf-8 et Content-Transfer-Encoding: 8bit.

//set all necessary headers
$headers = "From: $sender_name<$from>\n";
$headers .= "Reply-To: $sender_name<$from>\n";
$headers .= "X-Sender: $sender_name<$from>\n";
$headers .= "X-Mailer: PHP4\n"; //mailer
$headers .= "X-Priority: 3\n"; //1 UrgentMessage, 3 Normal
$headers .= "MIME-Version: 1.0\n";
$headers .= "X-MSMail-Priority: High\n";
$headers .= "Importance: 3\n";
$headers .= "Date: $date\n";
$headers .= "Delivered-to: $to\n";
$headers .= "Return-Path: $sender_name<$from>\n";
$headers .= "Envelope-from: $sender_name<$from>\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "Content-Type: text/plain; charset=UTF-8\n";
  • Avez-vous pensé à l'aide de phpmailer.worxware.com cela vous permettra d'économiser des tas de soucis.
  • En plus des réponses apportées, note que, selon la doc, vous êtes censé pour séparer plusieurs en-têtes avec CRLF (\r\n), et pas seulement LF (\n).
InformationsquelleAutor daza166 | 2010-12-08