Page 1 sur 1

messages bloqués par SPAMASSASSIN

Publié : jeu. mai 21, 2015 7:30 pm
par ooosons
Bonjour :D

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 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b></br><img src="./images/merci.gif" "merci">';
$message_non_envoye = "<b style='color: red;'>envoi du mail a &#233;chou&#233;, veuillez r&#233;essayer SVP.</b>";
$message_formulaire_invalide = "<b style='color: red;'>V&#233rifiez que tous les champs soient bien remplis et que l'email soit sans erreur (S.V.P. ne pas utiliser les &#231; &#233; &#232; &#224; etc... pour le Nom et pr&#233;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&#233;pondu correctement &#224; 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("&#8217;","'",$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&#233;es</b></legend><br/>
<p><label for="nom">Nom :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label><input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /></p> <br/>
<p><label for="prenom">Pr&#233;nom :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label><input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="2" /></p> <br/>
<p><label for="telephone">T&#233;lephone :&nbsp;&nbsp;&nbsp;</label><input type="text" id="telephone" name="telephone" value="'.stripslashes($telephone).'" tabindex="3" /></p><br/>
<p><label for="email">Email :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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 :&nbsp;</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&#233;pondre &#224; 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>';
};
?>

Re: messages bloqués par SPAMASSASSIN

Publié : ven. mai 22, 2015 7:02 am
par Sylvain - LWS
Bonjour,

dans la rubrique "administration email" de votre espace client puis en cliquant sur le lien "Stats des mails envoyés avec la fonction mail de Php() et stats global du compte" vous pouvez visualiser le rapport SPAMASSASSIN vous permettant de déterminer quelle paramètres pose souci et le corriger.

Généralement, l'ajout d'un message-id au niveau de l'header de votre formulaire de contact permettra de réduire le score des mails envoyés et de réduire la possibilité de SPAM.

Voici une documentation sur la fonction mail php : http://php.net/manual/fr/function.mail.php
Comment générer un message-id : http://www.vincentverhagen.nl/2007/05/2 ... essage-id/