SPAMASSASSIN mis sur domaine
Posté : 21 mai 2015, 15:57
Bonjour
J'ai un problème, les messages ne partent plus, il m'a été répondu qu' Actuellement SPAMASSASSIN mis en place sur domaine considère les mails envoyé depuis la fonction mail php comme étant un possible SPAM et les bloques.
il m'a été demandé de modifié le script
avec cette fonction peut être, mais j'ai essayé et quelque chose m'échappe.
le script de base qui devrait fonctionner. Celui-ci fonctionne bien en local sur easyPHP
J'ai un problème, les messages ne partent plus, il m'a été répondu qu' Actuellement SPAMASSASSIN mis en place sur domaine considère les mails envoyé depuis la fonction mail php comme étant un possible SPAM et les bloques.
il m'a été demandé de modifié le script
avec cette fonction peut être, mais j'ai essayé et quelque chose m'échappe.
$Message-Id = "<" . sha1(microtime()) . "@" . $fqdn_hostname . ">";
Merci d'avance de vos conseils.le script de base qui devrait fonctionner. Celui-ci fonctionne bien en local sur easyPHP
<?php
$destinataire = '[email protected]';
$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>';
};
?>