[PHP]fonction mail et retour à la ligne

Statut
N'est pas ouverte pour d'autres réponses.

II phl II

Touriste
Bonjour à tous, j'ai un petit soucis avec la fonction mail de php

Voici mon code
Code:
$from = $_POST['email'];
$to = "xxx@xxx.be";
$object = stripslashes($_POST['sujet']);
$msg = stripslashes($_POST['message']);
$msg.= "\n\n(Message venant de $from via xxx.be)";

mail ($to, $object, $msg, "From: $from");
Cela fonctionne parfaitement mais le problème est que les retours à la ligne du formulaire d'envoi sont "doublés" à la réception du mail.

Exemple
J'envoie :
Code:
Bonjour ...
blabla

Phil
Je reçois :
Code:
Bonjour ...

blabla



Phil
Le plus étonnant est qu'en utilisant mon email courant (celui de mon ISP) pour la réception, ce problème ne survient pas.
=> ce n'est pas la fonction mail de php qui est en cause ni mon client mail.

Mais je ne peux pas utiliser cet email, seul mon email OVH peut l'être.

Si qqn a une idée pour solutionner ce problème, cela m'aiderait beaucoup

Merci à tous
 

FoX SpeEd

Touriste
c'est normal les 2 \n d'affilé?
 
1er
OP
II phl II

II phl II

Touriste
Oui c'est pour mettre une sorte de signature automatique en bas de chaque mail envoyé par le site.

étrangement ce double \n est, quant à lui, bien interprété (un \n pour le passage à la ligne suivante et l'autre \n pour laisser une ligne vide).
Donc il y a une seule ligne vide entre la fin du mail et la signature.

Seuls les retours à la ligne du mail (transmis par la variable $POST['message']) sont doublés sur mon email OVH :-'
 

Ahava

Revenant
C'est pas stripslashes qui fout le boxon ?
 
1er
OP
II phl II

II phl II

Touriste
non j'ai essayé sans mais le problème persiste :beuh:
 

Jereck

Α & Ω
Staff
Formatter ton mail en HTML :

Code:
$from = $_POST['email'];
$to = "xxx@xxx.be";
$object = stripslashes($_POST['sujet']);
$msg = stripslashes($_POST['message']);
$msg.= "\n\n(Message venant de $from via xxx.be)";
 
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $from\r\n";
 
mail ($to, $object, $msg, $headers);
 
1er
OP
II phl II

II phl II

Touriste
Cela ne fonctionne malheureusement pas :-s
 
1er
OP
II phl II

II phl II

Touriste
pas d'autres idées ? :-'
 

null

ose();
Code:
$msg = stripslashes(str_replace("\n", "", $_POST['message']));
? :-D
 
1er
OP
II phl II

II phl II

Touriste
oui mais non ;)
pas envie d'avoir un message en ligne non plus :pfiou:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut