Bonjour
Réponse du service LWS à mon soucis, les mails ne partent plus depuis hier soir !
Actuellement SPAMASSASSIN mis en place sur ce domaine considère les mails envoyé depuis la fonction mail php comme étant un possible SPAM et les bloque.
voilà mon script qui fonctionne normalement depuis bientôt trois ans.
Comment générer un message-id en modifiant mon script ?
Par avance merci
<?php
$destinataire = 'mon_adresse@hotmail.fr';
$copie = 'non';
$form_action = 'contact.php';
$message_envoye = '<b><div style="color:red;">Votre message nous est bien parvenu </b></br><img src="./images/merci.gif" "merci">';
$message_non_envoye = "<b style='color: red;'>envoi du mail a échoué, veuillez réessayer SVP.</b>";
$message_formulaire_invalide = "<b style='color: red;'>Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur (S.V.P. ne pas utiliser les ç é è à etc... pour le Nom et prénom !).</b>";
function NoSpamQuestion($mode = 'ask', $answer = 0)
{
$array_pictures = array(); $j = 0;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<img src="./images/captcha/bateau.jpg" "bateau ou avion">';
$array_pictures[$j]['answer'] = "bateau";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<img src="./images/captcha/avion.jpg" "bateau ou avion">';
$array_pictures[$j]['answer'] = "avion";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<img src="./images/captcha/chat.jpg" "chat ou chien">';
$array_pictures[$j]['answer'] = "chat";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<img src="./images/captcha/chien.jpg" "chat ou chien">';
$array_pictures[$j]['answer'] = "chien";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<img src="./images/captcha/oiseau.jpg" "oiseau ou poisson">';
$array_pictures[$j]['answer'] = "oiseau";
$j++;
$array_pictures[$j]['num'] = $j;
$array_pictures[$j]['question'] = '<img src="./images/captcha/poisson.jpg" "oiseau ou poisson">';
$array_pictures[$j]['answer'] = "poisson";
$j++;
if ($mode != 'ans')
{
$lambda = rand(0, count($array_pictures)-1);
return $array_pictures[$lambda];
}
else
{
foreach($array_pictures as $i => $array)
{
if ($i == $answer)
{
return $array;
break;
};
};
};
$nospam = NoSpamQuestion();
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES );
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$telephone = (isset($_POST['telephone'])) ? Rec($_POST['telephone']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$antispam_h = (isset($_POST['antispam_h'])) ? Rec($_POST['antispam_h']) : '';
$antispam_r = (isset($_POST['antispam_r'])) ? Rec($_POST['antispam_r']) : '';
$email = (IsEmail($email)) ? $email : '';
$err_formulaire = false;
if (isset($_POST['envoi']))
{
$verif_nospam = NoSpamQuestion('ans', $antispam_r);
if (strtolower($antispam_h) != strtolower($verif_nospam['answer']))
{
echo '<b style="color: red;">Vous n\'avez pas répondu correctement à la question Antispam ...</b>';
}
else
{
if (($nom != '') &&($prenom != '') && ($telephone != '') && ($email != '') && ($objet != '') && ($message != ''))
{
$headers = 'From:'.$nom.' '.$prenom.' '.$telephone.' <'.$email.'>' . "\r\n";
$headers.="Content-type: text/html; charset=\"UTF-8\" \r\n";
if ($copie == 'non')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>';
}
else
{
echo '<p>'.$message_non_envoye.'</p>';
};
}
else
{
echo '<p>'.$message_formulaire_invalide.'</p>';
$err_formulaire = true;
};
};
};
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
echo '
<form id="contact-form" method="post" enctpe="multipart/form-data" >
<fieldset><legend><b style="color: black;">Vos coordonnées</b></legend><br/>
<p><label for="nom">Nom : </label><input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /></p> <br/>
<p><label for="prenom">Prénom : </label><input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" /></p> <br/>
<p><label for="telephone">Télephone : </label><input type="text" id="telephone" name="telephone" value="'.stripslashes($telephone).'" tabindex="3" /></p><br/>
<p><label for="email">Email : </label><input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="4" /></p><br/>
</fieldset><br/>
<fieldset><legend><b style="color: black;">Votre message </b></legend><br/>
<p><label for="objet">Objet du message : </label><input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="5" /></p><br/>
<p><label for="message">Texte de votre Message :<br/><br/></label><textarea id="message" name="message" tabindex="6" cols="30" rows="8">'.stripslashes($message).'</textarea></p><br/>
</fieldset> <br/>
<fieldset><legend><b style="color: black;">Anti-spam captcha</b></legend><br/>
<p><label for="antispam_h">'.$nospam['question'].' <div style="color:#FF0000;">Répondre à la question</div></label><input type="text" name="antispam_h" id="antispam_h" /><input type="hidden" name="antispam_r" value="'.$nospam['num'].'" /></p><br/>
</fieldset>
<form id="contact-form" method="post" enctype="multipart/form-data"></br>
<div style="text-align:center;"><input type="submit" name="envoi" value="ENVOYER LE FORMULAIRE" />
</form>';
};
?>