Email OVH considéré comme SPAM

Résolu/Fermé
LaurentMtns Messages postés 261 Date d'inscription mardi 22 octobre 2013 Statut Membre Dernière intervention 22 mars 2017 - 19 mars 2017 à 21:05
LaurentMtns Messages postés 261 Date d'inscription mardi 22 octobre 2013 Statut Membre Dernière intervention 22 mars 2017 - 22 mars 2017 à 00:18
Bonsoir,

Je possède un hébergement mutualisé chez OVH. J'y héberge un site sur lequel on peut commander des photos. Une fois les photos commandées et le virement reçu, je confirme l'achat et un script envoie automatiquement un email à l’acheteur. Cet email est envoyé via la fonction php mail().

Mon problème est le suivant : alors que Gmail reçoit correctement les emails, Outlook les considères comme SPAM...

J'utilise ce script fournis pas le site openclassrooms :

<?php
$mail = 'weaponsb@mail.fr'; // Déclaration de l'adresse de destination.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
	$passage_ligne = "\r\n";
}
else
{
	$passage_ligne = "\n";
}
//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
$message_html = "<html><head></head><body><b>Salut à tous</b>, voici un e-mail envoyé par un <i>script PHP</i>.</body></html>";
//==========
 
//=====Création de la boundary
$boundary = "-----=".md5(rand());
//==========
 
//=====Définition du sujet.
$sujet = "Hey mon ami !";
//=========
 
//=====Création du header de l'e-mail.
$header = "From: \"WeaponsB\"<weaponsb@mail.fr>".$passage_ligne;
$header.= "Reply-to: \"WeaponsB\" <weaponsb@mail.fr>".$passage_ligne;
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
//==========
 
//=====Création du message.
$message = $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;
//==========
 
//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========
?>


J'espère que ma question est compréhensible et je remercie d'avance ceux qui répondront. Merci ! :-)

Bonne soirée,
Laurent Mtns.

1 réponse

elgazar Messages postés 5841 Date d'inscription mercredi 30 octobre 2013 Statut Membre Dernière intervention 17 mars 2021 1 322
Modifié par elgazar le 20/03/2017 à 07:28
Bonjour
ce n'est pas forcément un problème de script (qui n'a que deux alternatives ca marche ou pas) mais plutôt à un réglage des filtres du serveur mail qui reçoit.

en gros si le serveur entrant estime que le titre de l'email, le nom de l'expéditeur, l'adresse ip ou le contenu sont sujets à risques, tu seras classé d'office comme spam.

si tu as utilisé le script tel quel avec le titre "envoyé par un script php", il y a de grandes chances que cela soit la cause du classement en spam.

malheureusement, les règles étant différentes selon les serveurs, il n'y a pas de solution miracle. Tout ce que tu peux faire, c'est signaler à tes acheteurs que la confirmation pourrait potentiellement arriver dans leur boite spam
Avec un ordinateur, on peut faire plus rapidement des choses qu’on n’aurait pas eu besoin de faire sans ordinateur.
0
LaurentMtns Messages postés 261 Date d'inscription mardi 22 octobre 2013 Statut Membre Dernière intervention 22 mars 2017 51
22 mars 2017 à 00:18
Merci pour ta réponse, j'avais espéré que ça ne vienne pas de là mais si nous sommes deux à le supposer ...

Bref, j'ai modifié le sujet et contenu exemple de l'email. Sauf qu'effectivement, il contient des liens de téléchargements (pour les photos achetées) qui sont sûrement la cause de la détection. Je vais réfléchir pour faire un email au look aussi clean qu'il l'est vraiment.

Encore merci et bonne soirée ;-)
0