8722 sujets

Développement web côté serveur, CMS

Bonjour, je souhaite réaliser un envoi de mail par le biais d'un formulaire. Mais je me heurte à un petit problème. En effet, l'envoi s'effectue mais les données envoyées conservent les balises. Que faudrait-il faire pour que les balises HTML soit interprété lors de l'envoi du mail ?

Note : Le code n'est pas fini ^^.

PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Validation de la demande</title>

</head>
<?php

$headers ='From: "Le nom qui doit apparaître"<CENSURE@CENSURE.FR>'."\n";
$headers .='Reply-To: CENSURE@CENSURE.FR'."\n";
$headers .='Content-Type: text/html; charset="utf-8"'."\n";
$headers .='MIME-Version: 1.0'; 

// Récupération des fichiers de formulaire et on les assimile à ne variable
$Champ01 = $_POST["ch01"];
$Champ02 = $_POST["ch02"];
$Champ03 = $_POST["ch03"];
$Champ04 = $_POST["ch04"];
$Champ05 = $_POST["ch05"];
$Champ06 = $_POST["ch06"];
$Champ07 = $_POST["ch07"];
$Champ08 = $_POST["ch08"];
$Champ09 = $_POST["ch09"];
$Champ10 = $_POST["ch10"];
$Champ11 = $_POST["ch11"];
$Champ12 = $_POST["ch12"];

$allisok=1;

// Validation
if ($Champ01==""){
echo("Vous n'avez pas renseigné le champ 'Prénom Nom'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ02==""){
echo("Vous n'avez pas renseigné le champ 'UFR/Service/Association'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ03==""){
echo("Vous n'avez pas renseigné le champ 'Votre adresse mail : '. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ04==""){
echo("Vous n'avez pas renseigné le champ 'Pays'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ05==""){
echo("Vous n'avez pas renseigné le champ 'Titre de l'évènement'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ08==""){
echo("Vous n'avez pas renseigné le champ 'Nom de l'institution/organisateur'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ09==""){
echo("Vous n'avez pas renseigné le champ 'Description de l'évènement'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ11==""){
echo("Vous n'avez pas renseigné le champ 'Contact'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}
if ($Champ12==""){
echo("Vous n'avez pas renseigné le champ 'Site Web'. Faites précédent pour revenir sur la page du formulaire.<br/><br/>");
$allisok = 0;
}


// Préparation des coordonnées et du titre de l'envoi
$mailto = "CENSURE@CENSURE.FR";
$mailcc = "";
$mailfrom = "From :".$Champ03;
$sujet ="Demande pour la newsletter : ".$Champ05;






// Préparation du contenu
$nom = "<br /><h3>Coordonnées</h3>La demande provient de ".$Champ01."<br />";
$service = "Cette demande provient de : ".$Champ02."<br />";
$mail = "Son adresse mail est ".$Champ03."<br />";
$pays = "Le pays où la demande a été effectué est le/la/l' ".$Champ04."<br />";
$titre = "<br/><h3>Détails de l'évènement</h3><br/><br/>Titre de l'évènement : ".$Champ05."<br />";
$quand = "Le/Du ".$Champ06." au/à ".$Champ07."<br />";
$organisateur = "Cette évènement est organisé par : ".$Champ08."<br /><br/>";
$description = $Champ09."<br/>";
$deadline = "La deadline de la publication est le ".$Champ10."<br />";
$contact = "Pous plus d'informations, joindre : <br/>".$Champ11."<br/>";
$siteweb = "Site web : ".$Champ12."<br/><br/><br/> Bonne insertion dans la newsletter !";

$contenu = "<html><head><title>Validation de la demande</title></head><body>".$nom.$service.$mail.$pays.$titre.$quand.$organisateur.$description.$deadline.$contact.$siteweb."</body></html>";

if ($allisok == 1) {
mail($mailto, $sujet, $contenu, $headers);
echo "Message test envoyé";
}
?>
<body></body></html>



<quote><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Formulaire pour la Newsletter</title>
<!-- <link rel="shortcut icon" type="image/x-icon" href="A FAIRE" /> -->

<style type="text/css">
body {
	background-image:url(fond-test2.png);
	background-attachment: fixed;
    background-size: cover;
    -moz-background-size: cover;
	width: 800px;
	display:block;
	margin: 0px auto 0px auto;
	padding: 0px;
	text-align:center;
}

#global {
	background-color:#FFF;
	width: 800px;
}

.aligb {
	display:inline-block;
	width:300px;
	text-align:left;
	padding-top:5px;
	padding-bottom:5px;
}

h3 {
	text-align:left;
	margin-left:20px;
	padding-top:20px;
}

</style>


</head>

<body>

<div id="global">

	<div id="header">
    </div>
    
    <div id="formulaire">
        <form enctype="multipart/form-data" method="POST" action="mailnews.php"
        name="AVIS">
        
          
			<h3>Vos coordonnées</h3>
            <span class="aligb">Prénom Nom : </span><input type="text" name="ch01" size="58"><br />
            <span class="aligb">UFR/Service/Association : </span><input type="text" name="ch02" size="58"><br />
            <span class="aligb">Votre adresse mail : </span><input type="text" name="ch03" size="58"><br />
            <span class="aligb">Pays : </span><input type="text" name="ch04" size="58"><br />
            <h3>Détails de l'évènement</h3>
            <span class="aligb">Titre de l'évènement: </span><input type="text" name="ch05" size="58"><br/>
		    <span class="aligb">Date (si lieu d'être) : </span><input type="text" name="ch06" size="58"><br/>
            <span class="aligb">Lieu (si lieu d'être) : </span><input type="text" name="ch07" size="58"><br/>
            <span class="aligb">Nom de l'institution/organisateur : </span><input type="text"  name="ch08" size="58"><br />
            <span class="aligb">Description de l'évènement : </span><textarea rows="9" name="ch09"cols="50"></textarea><br />
            <span class="aligb">Deadline (si lieu d'être) : </span><input type="text"  name="ch10" size="58"><br />
            <span class="aligb">Contact : </span><textarea rows="3" name="ch11"cols="50"></textarea><br />
            <span class="aligb">Site Web : </span><input type="text"  name="ch12" size="58"><br />
              
            
            <p>Joindre une photo ou un PDF : (taille maximale 10Mo)</p>
            <p>
              <input type="hidden" name="MAX_FILE_SIZE" value="10485760">
              <input name="monfichier" type="file" size="58" >
              <br />
              
            
            <h5>Tous les champs sont obligatoires !</h5>
            
              <input type="submit" value="Envoyer" name="envoyer">
              <input type="reset" value="Tout effacer" name="recommencer">
            
         
        </form>
        
          <br/> 
            <br/>
            <a href="CENSURE@CENSURE.FR" >Revenir sur la page d'accueil</a>
          </p>
        
    </div>
</div>

</body>
</html>

Modifié par Woodeath (15 Mar 2013 - 14:05)
Bonjour,

Je ne m'y connaît pas beaucoup en ce qui concerne mail et php mais il me semble que tu dois déclarer le "content" de ton mail.

regarde sur google il y a pas mal de tuto la dessus

tiens j'ai trouver un tuto sur sdz concernant les types de mail
Modifié par toukilbv (15 Mar 2013 - 11:52)
Déjà merci ^^, c'est le bien le "content type" qui était à déclarer mais le problème est bien plus profond parce que j'ai déjà fait des test sur le content. ( et ça marchait pas Smiley lol )
Le problème viens aussi de (mail) où $mailfrom devient inutile et est remplacé par un $header. Si les 2 sont là, le texte n'est pas remis en place avec le HTML ;D !

Merci encore et je colle le code pour montrer le résultat à un peu près final de " comment mettre du HTML en PHP" Smiley lol