Bonjour,
Je remonte ce topic car je rencontre le même probleme.
En effet, ayant testé et approuvé ( serveur free )le formulaire flash/php que l'on trouve ici >
http://wiki.mediabox.fr/tutoriaux/flash ... _flash_php, j'ai décider de l'implanter sur un de mes sites hébergé par Herbergeur discount.
Et la, ca ne marche plus, le formulaire fonctionne bien, mais je ne reçois aucun mail.
En allant à la pêche aux infos, j'ai pu me rendre compte que le probleme se situait du coté du safe mode pour empecher les spams.
Apparemment, l'envoie de mail ne se fait que si l'adresse de l'expediteur se fini par le nom de domaine utilisé pour le site, mais malheureusement, meme en adaptant mon script avec les bonnes adresses mail je n'arrive a rien.
Etant donné mon niveau de sous débutant sur PHP, je galère grave pour adapter mon header.
Si une âme charitable est pret à m'aider, qu'il ne se gene pas, merci.
Le formulaire en ligne :
http://www.hk3.fr/contact.html
Code : Tout sélectionner
<?php
function decoder($texte){
$texte = utf8_decode($texte); // converti en iso-8859-1
$texte = stripslashes($texte); // élimine les anti-slashs d'échappement
$texte = nl2br($texte); // converti les retours en <br />
$texte = trim($texte); // élimine les '\n', '\r', '\t' etc
return $texte;
}
$erreurPHP="";
/*
$_POST['sujet'] = 'formulaire Test';
$_POST['messageHtml'] = '<html><head><title>Un titre ici</title></head><body>Salut<br /> huck<br /><br />Bye</body></html>';
$_POST['messageText'] = "Salut huck ";
$_POST['expediteur'] = "huck";
$_POST['mailReponse'] = "huck@hk3.fr";
*/
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
{
$to = "contact@hk3.fr";
$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.' <'.$mailReponse.'>'."\n";
$headers .= 'Return-Path: <'.$mailReponse.'>'."\n";
$headers .= 'MIME-Version: 1.0'."\n";
$headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\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);
}
?>
Merci d'avance.
Fab.