Retour Chariot dans un mail

Résolu
pinouf42 Messages postés 359 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Voila, j'ai un petit problème. J'ai un système de news très basique dans lequel j'ai réussir a remplacer le besoin de mettre des <br /> c'est à dire que pour un retour à la ligne dans mon formulaire je n'ai plus besoin de mettre <br /> devant chaque retour à la ligne. Or j'ai aussi une fonction qui envoie ce qu'il y a dans ce formulaire par mail et la la fonction nl2br elle ne passe pas. J'ai bien essayer de la mettre comme ceci:

if (mail($destinataire,$subject,nl2br($body),$headers))

Mais sans succès.

Sachant que mon body ressemble à ceci en gros:

$body="$objet, $message"

Merci de votre aide
A voir également:

9 réponses

arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Et as tu essayé:
$body="$objet, nl2br($message)";
1
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Ton email doit être envoyé en texte brute, c'est pour ça que "<br/>" n'est pas pris en compte.
Il faut donc simplement utilise "\n" (signe qui se mets automatiquement dans les retours à la ligne des textarea).
1
pinouf42 Messages postés 359 Date d'inscription   Statut Membre Dernière intervention   30
 
Je me suis mal fait comprendre.

J'ai une page poster.php qui envoie sur MySQL ce que j'ai écrit auparavant dans le formulaire pour une news.
En même temps, ce poster.php envoie un mail à plusieurs personnes avec le contenu du formulaire.
J'ai aussi une page news.php qui elle liste les news. Avant, pour faire le retour à la ligne sur la page news.php et dans les email, je devais mettre <br /> dans le formulaire mais j'ai trouvé comment faire pour qu'il n'y est plus besoin de le mettre pour la page news.php avec le nl2br sauf que dans l'email, le nl2br ne fonctionne pas donc vu qu'il n'y a plus de <br />, je n'ai plus de retour à la ligne dans l'email.

Compliqué désolé ^^
1
pinouf42 Messages postés 359 Date d'inscription   Statut Membre Dernière intervention   30
 
J'ai essayé et ça me marquait l'objet puis nl2br(et la il y avait le message de $message);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Est-ce que ton email est envoyé au format HTML ou texte ?
Que contient $headers ?
0
pinouf42 Messages postés 359 Date d'inscription   Statut Membre Dernière intervention   30
 
Il est au format HTML

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset= iso-8859-1\n";
$headers .= "From: $nom $envoyeur\r\nReply-to : $nom $envoyeur\nX-Mailer:PHP";
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
En principe ça se met plutôt de cette manière:
$message= nl2br($message);
$body="$objet, $message";
0
pinouf42 Messages postés 359 Date d'inscription   Statut Membre Dernière intervention   30
 
Ça fonctionne !!
Merci infiniment.
0
arthezius Messages postés 3538 Date d'inscription   Statut Membre Dernière intervention   475
 
Mais de rien.
0