envoi de mail

polak
Invité n'ayant pas de compte PHPfrance

02 août 2006, 10:35

bonjour a tous,

J'explique mon probleme,
je cherche a envoyer un mail dont le contenu est en html qui vient d'etre généré en php, et j'enregistre tout mon code dans une variable que j'ai apelé $mail.

pour pouvoir l'envoyer j'ai une box ou l'utilisateur rentre le mail du destinataire.
ma variable $mail est enregistrer dans un fichier txt (donc tout le code html se trouve dans le fichier)

et lorsque l'utilisateur a entrer le mail du destinataire et qu'il valide ca envoi vers une autre page qui s'occupe de l'envoi du mail. Donc cette page va récuperer dans le fichier le contenu du html et la réatribu a la variable $mail. pour ensuite pouvoir l'envoyer.

Mais tous se passe bien sauf que quand je recois le mail, le html lne passe pas bien, j'ai pas mes tableaux et il y a juste quelque donné par ci par la, comme si le html n'avait pas été copier.

Voici la fin de ma premiere page (celle qui génére le code html ac mes tableau et qui la met ds la variable $mail et l'ecrit dans un fichier txt ainsi que la box avec le mail a entrer et valider) :

Code : Tout sélectionner

?> <form method="post" action="mail_ok.php" target="_blank"> <textarea name="maill" wrap="PHYSICAL" cols="25" rows="1"></textarea> <input type="submit" name="bouton" value="Validez"> </form> <? $fichier = 'mail.txt'; // on déclare le nom du fichier à ouvrir $fp = fopen($fichier,'w'); //ouverture du fichier en écriture, en supprimant les données qu'il contient déjà fwrite($fp,$mail); //ecriture dans le fichier, le \n à la fin de la phrase indique le retour à la ligne dans le fichier fclose($fp); //pensez à refermer à la fin du script ?>


la deuxieme page(celle qui recupere le contenu du mail et qu'il l'envoi)

<?
$Fnm = 'mail.txt';
$inF = fopen($Fnm,"r"); ;
$mail = file_get_contents($Fnm); 
fclose($inF);


if(empty($_POST[maill]))//on vérifie avec empty voir si les champs sont vide 
{
print "Vous Devez inscrire votre nom pour validez le devis "; //si un des 2 champs n'est pas rempli, message d'erreur
}
else
{


$to = $_POST[maill]; // email du destinataire
$sujet ='test mail html'; //le sujet


$from ="From: [email protected] \r\n"; //votre email
$from .="Content-Type: html; charset=us-ascii\r\n"; //ici on défini le format , soit html 


mail($to,$sujet,$mail,$from); // la fonction mail 




//print'<br>Merci Mr/Mme/Mlle '.$_POST[comm].', la validation du devis est bien parti.<br> A bientot chez Globanet';
}
?>
voila donc j'ai pas trouver pourquoi le mail html n'est pas correct.
si vous avez des idées.

Merci

polak
Invité n'ayant pas de compte PHPfrance

02 août 2006, 10:44

petite erreur en recopiant, jai mal remit l'envoie du mail :

$from .="Content-Type: text/html; charset=us-ascii\r\n"; //ici on défini le format , soit html 
ca ne change pas mon probleme...

polak
Invité n'ayant pas de compte PHPfrance

02 août 2006, 10:57

j'ai trouver mon probleme c'est a cose de outlook qui me prennait que le text brut,

du reste outlook deforme certain caractère comme le à et les é je ne sais pas comment éviter cela, si vou avez une idée.

merci

polak
Invité n'ayant pas de compte PHPfrance

02 août 2006, 11:41

j'allais oublier, en haut de mon mail quand le recoi il y a marquer ca :
je ne sais pas d'ou ca vient...

Code : Tout sélectionner

X-Abuse-To: [email protected] Message-Id: <[email protected]> Date: Wed, 2 Aug 2006 10:59:04 +0200 (CEST)

Invité
Invité n'ayant pas de compte PHPfrance

02 août 2006, 15:04

oui parce que ton site est hébergé chez free... c'est pour éviter les abus, par exemple le mailbombing

polak
Invité n'ayant pas de compte PHPfrance

02 août 2006, 16:16

comment je fais pour que ce message n'aparaissent plus ?

Invité
Invité n'ayant pas de compte PHPfrance

07 août 2006, 13:57

personne ne sais ....?