Je rencontre quelques soucis dans ce code source, le format HTML n'est pas restitué correctement...
Je retrouve les balises <div><p> directement dans le mail...
C'est à dire ceci :
<div style="padding:5px; background-color:#E3EDC2; border:#FF0000 thin solid">
<img src="http://www.lesite.fr/images/naule.gif" "alt="Si vous lisez ce message, c\'est que vous êtes hors ligne." />
<p>'.$_POST['texte'].'</p>
</div>
Qu'ai-je fait comme erreur ?Voici le code complet, j'ai peut-être tout mélangé ...
<?php
// mail envoye au client
/* Si le formulaire est envoye alors on fait les traitements */
if (isset($_POST['envoyer']))
{
/* Recuperation des valeurs des champs du formulaire */
if (get_magic_quotes_gpc())
{
$expediteur = stripslashes(trim($_POST['expediteur']));
$destinataire_1 = stripslashes(trim($_POST['destinataire_1']));
$objet = stripslashes(trim($_POST['objet']));
$texte = stripslashes(trim($_POST['texte']));
}
else
{
$expediteur = trim($_POST['expediteur']);
$destinataire_1 = trim($_POST['destinataire_1']);
$objet = trim($_POST['objet']);
$texte = trim($_POST['texte']);
}
/* Si le formulaire n'est pas poste de notre site on renvoie
* vers la page d'accueil */
if($_SERVER['HTTP_REFERER'] != 'http://www.lesite.fr")
{
header('Location: http://www.lesite.fr/');
}
/* On verifie que tous les champs sont remplis */
elseif (empty($expediteur)
|| empty($destinataire_1)
|| empty($objet)
|| empty($texte))
{
$alert = 'Les champs (Expediteur, Destinataire en copie cachée, objet et message) doivent être remplis...';
}
/* Si aucun probleme et aucun cookie cree, on construit le message et on envoie l'e-mail */
elseif (!isset($_COOKIE['sent']))
{
/* Construction du message */
$_Expediteur = $_POST['expediteur'];
$destinataire_1 = $_POST['destinataire_1'];
$texte = $_POST['texte'];
$subject = $_POST['objet'];
$_destinataire = " ";
$_sujet = $_POST['objet'];
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
//Message :
$_message .= '--'.$boundary."\r\n";
$_message .= "Content-type: text/html; charset=iso-8859-1\r\n";
$_message .= '
<div style="padding:5px; background-color:#E3EDC2; border:#FF0000 thin solid">
<img src="http://www.lesite.fr/images/naule.gif" "alt="Si vous lisez ce message, c\'est que vous êtes hors ligne." />
<p>'.$_POST['texte'].'</p>
</div>'."\r\n";
/** Envoi du mail **/
$_entete = "MIME-Version: 1.0\r\n";
$_entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$_entete = "bcc: $destinataire_1\r\n";
$_entete .= "To: \r\n";
$_entete .= "From: $_Expediteur\r\n";
// Pièce jointe
$file_name = $_POST['fichier1'];
if (file_exists($file_name))
{
$file_type = filetype($file_name);
$file_size = filesize($file_name);
$handle = fopen($file_name, 'r') or die('File '.$file_name.'can t be open');
$content = fread($handle, $file_size);
$content = chunk_split(base64_encode($content));
$f = fclose($handle);
$_message .= '--'.$boundary."\r\n";
$_message .= 'Content-type:'.$file_type.';name='.$file_name."\r\n";
$_message .= 'Content-transfer-encoding:base64'."\r\n\r\n";
$_message .= $content."\r\n";
}
// Fin
$_message .= '--'.$boundary."\r\n";
if (mail($_destinataire, $_sujet, $_message, $_entete))
{
$alert = 'E-mail envoyé avec succès';
/* On cree un cookie de courte duree (ici 120 secondes) pour eviter de
* renvoyer un mail en rafraichissant la page */
setcookie("sent", "1", time() + 120);
/* On detruit la variable $_POST */
unset($_POST);
}
else
{
$alert = 'Erreur d\'envoi de l\'e-mail';
}
}
/* Cas ou le cookie est cree et que la page est rafraichie, on detruit la variable $_POST */
else
{
unset($_POST);
}
}
?>
Le code du FORM ... <form name="form_mail" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="application/x-www-form-urlencoded">
<table border="2" cellspacing="20">
<tr><td></td><td style="text-align:left">Expéditeur :<br/>
<textarea name="expediteur" title="" style="height:25px; width:700px"></textarea></td>
</tr>
<tr><td></td><td style="text-align:left">Destinataire (bcc):<br/>
<textarea title="" name="destinataire_1" style="height:50px; width:700px"></textarea><br/><br/>
</td></tr>
<tr><td></td><td style="text-align:left">Objet :<br/>
<textarea title="Objet de l'envoi du mail" name="objet" style="height:25px; width:700px"></textarea></td>
</tr>
<tr><td></td><td style="text-align:left">Pièce jointe (< 2 Mo) :<br/>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000"/><input style="width:400px" name="fichier1" type="file" size="16"/>
</td>
</tr>
<tr><td></td><td style="text-align:left">Message :<br/>
<textarea name="texte" style="height:158px; width:700px" onkeyup="this.value = this.value.replace(/\n$/,'<br/>\n');" title=""></textarea>
<textarea style="display:none" name='texteconverti'></textarea>
</td>
</tr><tr><td></td><td></td><td>
<input type="submit" name="envoyer" value="Envoyer" onclick="convert(texte,texteconverti)"/>
<input type="reset" value="Effacer" />
</td></tr></table>
</form>
Merci pour votre aide, j'ai cherché d'autre code dans le forum, mais je n'ai rien trouvé de bien...
Pourtant il semble avoir aperçu il y quelques temps un internaute qui avais laissé son code complet avec envoi de pièce jointe, mais je n'arrive pas à mettre la main dessus...... j'aurais dù le copier à l'époque...
Merci pour votre aide...