Eléphanteau du PHP |
39 Messages
10 févr. 2009, 20:11
Merci du retour voici le code :
<?php
function decoder($texte){
//$texte = utf8_decode($texte); // converti en iso-8859-1
$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
//$texte = str_replace('\\', '', $texte);
$texte = nl2br($texte); // converti les retours en <br />
$texte = trim($texte); // élimine les '\n', '\r', '\t' etc
return $texte;
}
//ini_set('sendmail_from', '[email protected]');
$erreurPHP="";
/*$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html>
<head>
<title>Titre</title>
</head>
<body>Test de message
<div align=center><img src="http://www.domaine.com/logo.jpg"/>Coût final après déduction du crédit d\'impôt</div>
</body>
</html>';
$_POST['messageText'] = "Salut ";
$_POST['expediteur'] = "nom";
$_POST['mailReponse'] = "[email protected]";*/
if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
else $erreurPHP .= "Variable 'sujet' non transmise\n";
if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
else $erreurPHP .= "Variable 'message' non transmise\n";
if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
else $erreurPHP .= "Variable 'message' non transmise\n";
if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
else $erreurPHP .= "Variable 'expediteur' non transmise\n";
if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
else $erreurPHP .= "Variable 'mailReponse' non transmise\n";
if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
$expediteurmail = "[email protected]";
$to = $mailReponse;
$sujet = decoder($sujet);
$expediteur = decoder($expediteur);
$messageHtml = decoder($messageHtml);
$messageTexte = utf8_decode($messageTexte);
//-----------------------------------------------
//GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
//-----------------------------------------------
$frontiere = '-----=' . md5(uniqid(mt_rand()));
//-----------------------------------------------
//HEADERS DU MAIL
//-----------------------------------------------
$headers = 'From: '.$expediteur.' <'.$expediteurmail.'>'."\n";
$headers .= 'Return-Path: <'.$expediteurmail.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n";
//$headers .= "Cci: [email protected]\n";
$headers .= 'Content-Transfer-Encoding: 8bit';
//-----------------------------------------------
//MESSAGE TEXTE
//-----------------------------------------------
//$message = 'This is a multi-part message in MIME format'."\n\r";
$message = '--'.$frontiere."\n";
$message .= 'Content-Type: text/plain; charset=utf-8'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\r\n\r";
$message .= $messageTexte."\n";
//-----------------------------------------------
//MESSAGE HTML
//-----------------------------------------------
$message .= '--'.$frontiere."\n";
$message .= 'Content-Type: text/html; charset="utf-8"'."\n";
$message .= 'Content-Transfer-Encoding: 8bit'."\n\n";
$message .= $messageHtml."\n\n";
$message .= '--'.$frontiere."\n";
$mail_OK = mail($to, $sujet, $message, $headers) ;
if (!$mail_OK)
{
$erreurPHP .= "Problème lors de l'envoi du mail";
}
echo utf8_encode("erreurPHP=".$erreurPHP);
}
?>
[/code]