J'utilise les éléments suivants pour envoyer un e-mail:
<php ....
$message = 'Hi '.$fname.', \r\n Your entries for the week of '
.$weekof.' have been reviewed. \r\n Please login and View Weekly reports to see the report and comments. \r\n Thanks, \r\n'.$myname;
mail($to, $subject, $message, $from);
?>
Lorsque le message est reçu, il ne démarre pas une nouvelle ligne sur le "\ r\n" mais les imprime simplement comme partie du message.
Je ne l'ai essayé que dans Thunderbird 3, pas dans aucun autre client.
Essayez de changer votre '
à "
- php interprète une chaîne entre guillemets simples comme des littéraux, tandis qu'avec des guillemets ("
) il étendra le \r\n
à ce que vous voulez.
Plus d'informations: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.single
Pas une réponse à la question, mais peut être utile à quelqu'un.
Envoyez un message HTML et au lieu de\n, utilisez <BR>
.
Et utilise <PRE></PRE>
ou CSS pour le texte préformaté, traduisant ainsi\n en de nouvelles lignes réelles.
$headerFields = array(
"From: [email protected]",
"MIME-Version: 1.0",
"Content-Type: text/html;charset=utf-8"
);
mail($to, $subj, $msg, implode("\r\n", $headerFields));
<?php ....
$message = "Hi ".$fname.", \r\n Your entries for the week of "
.$weekof." have been reviewed. \r\n Please login and View Weekly reports to see the report and comments. \r\n Thanks, \r\n".$myname;
mail($to, $subject, $message, $from);
?>