formulaire d'envoi demail dans courrier indésirable hotmail

formulaire d'envoi demail dans courrier indésirable hotmail - PHP - Programmation

Marsh Posté le 01-04-2010 à 16:20:06    

Bonjour
 
Voici mon problème:
 
J'ai crée un site web qui contient un formulaire d'envoi direct d'email par un script php.
Celui-ci pointe vers une adresse hotmail. Le problème est que certain mail se retrouve dans courrier indésirable.
 
Ma question est donc, comment faire pour que tout les mails envoyé de se site, se retrouve toujours dans la boîte de réception hotmail.
 
- Rajouter une ligne spécifique dans mon script ?
- Configurer ma boite hotmail ?
 
Merci pour vos réponses.
 
Au cas où, mon script php
 
 

Code :
  1. <?php
  2. function decoder($texte){
  3.         $texte = utf8_decode($texte); // converti en iso-8859-1
  4.         $texte = stripslashes($texte); // élimine les anti-slashs d'échappement
  5.         $texte = nl2br($texte); // converti les retours  en <br />
  6.         $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
  7.         return $texte;
  8. }
  9. $erreurPHP="";
  10. /* Paragraphe à decommenter pour tester le script php seul, sans le fla
  11. $_POST['sujet'] = 'formulaire Test';
  12. $_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
  13. $_POST['messageText'] = "Salut  mon cher  Bye";
  14. $_POST['expediteur'] = "expediteur@fai.fr";
  15. $_POST['mailReponse'] = "expediteur@fai.fr";
  16. */
  17. if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
  18. else $erreurPHP .= "Variable 'sujet' non transmise\n";
  19. if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
  20. else $erreurPHP .= "Variable 'mess' non transmise\n";
  21. if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
  22. else $erreurPHP .= "Variable 'mess' non transmise\n";
  23. if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
  24. else $erreurPHP .= "Variable 'expediteur' non transmise\n";
  25. if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
  26. else $erreurPHP .= "Variable 'mailReponse' non transmise\n";
  27. if($erreurPHP != "" ) echo utf8_encode("erreurPHP=".$erreurPHP);
  28. else
  29. {
  30. $to = "monadresse@hotmail.com";
  31. $sujet = decoder($sujet);
  32. $expediteur = decoder($expediteur);
  33. $messagehtml = decoder($messageHtml);
  34. $messageTexte = utf8_decode($messageTexte);
  35.  //-----------------------------------------------
  36.      //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
  37.      //-----------------------------------------------
  38.      $frontiere = '-----=' . md5(uniqid(rand()));
  39.      //-----------------------------------------------
  40.      //HEADERS DU MAIL
  41.      //-----------------------------------------------
  42.      $headers = 'From: '.$expediteur.' <'.$mailReponse.'>'."\n";
  43.      $headers .= 'Return-Path: <'.$mailReponse.'>'."\n";
  44.      $headers .= 'MIME-Version: 1.0'."\n";
  45.      $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n";
  46.  $headers .= 'Content-Transfer-Encoding: 8bit';
  47.      //-----------------------------------------------
  48.      //MESSAGE TEXTE
  49.      //-----------------------------------------------
  50.      $message = "This is a multi-part message in MIME format\n\n";
  51.      $message = "--$frontiere\n";
  52.      $message .= "Content-Type: text/plain; charset=UTF-8\n";
  53.      $message .= "Content-Transfer-Encoding: 8bit\n\n";
  54.      $message .= $messageTexte."\n\n";
  55.    
  56.  //-----------------------------------------------
  57.      //MESSAGE HTML
  58.      //-----------------------------------------------
  59.      $message .= "--$frontiere\n";
  60.      $message .= "Content-Type: text/html; charset=UTF-8\n";
  61.      $message .= "Content-Transfer-Encoding: 8bit\n\n";
  62.      $message .= $messageHtml."\n\n";
  63.      $message .= "--$frontiere--\n";
  64. $mail_OK = mail($to, $sujet, $message, $headers) ;
  65. if (!$mail_OK)
  66. {
  67.  $erreurPHP .= "Problème lors de l'envoi du mail";
  68. }
  69. echo utf8_encode("erreurPHP=".$erreurPHP);
  70. }
  71. ?>

Reply

Marsh Posté le 01-04-2010 à 16:20:06   

Reply

Marsh Posté le 02-04-2010 à 08:05:52    

Je me suis aperçu qu'il fallait que l'adresse d'expéditeur soit sur le même domaine que l'hébergement.
Si ton domaine ou tu es hébergé est dupont.com il faut que l'adresse d'expéditeur soit xxx@dupont.com
 
Je dis pas que c'est forcement ca, mais en tout cas depuis que je fais ca, aucun message ne passe en indésirable.
 
Bon après si tu envoi 200 messages simultanés je sais pas si ca passe pas en spam.

Reply

Marsh Posté le 05-04-2010 à 15:07:25    

aspirateur a écrit :

Je me suis aperçu qu'il fallait que l'adresse d'expéditeur soit sur le même domaine que l'hébergement.
Si ton domaine ou tu es hébergé est dupont.com il faut que l'adresse d'expéditeur soit xxx@dupont.com
 
Je dis pas que c'est forcement ca, mais en tout cas depuis que je fais ca, aucun message ne passe en indésirable.
 
Bon après si tu envoi 200 messages simultanés je sais pas si ca passe pas en spam.


 
ah c'est bon à savoir ça, merci du tuyau :jap:


---------------
Bla (blaa bbla)
Reply

Marsh Posté le 05-04-2010 à 15:20:11    

Il y a des dizaines de raison pour qu'un message soit considéré comme un spam!
 
Et ça varie d'un serveur à l'autre, d'un client de mail à l'autre et parfois d'une version de spam assassin à l'autre...
 
Commence déjà par t'assurer que le message est correctement formé et qu'il ne contient pas de mots "louches". Faire correspondre adresse expéditeur et serveur qui envoie le mail. Bannir les no-reply (-ies) et compagnie. S'assurer que les DNS et rDNS sont correctement configurés (OVH est très pointilleux par exemple).
 
Pour le reste, même avec le plus grand soin, il n'y *aucune* garantie que ton mail arrivera bien dans l'inbox du destinataire. Si ça existait, n'importe quel spammeur utiliserait à tout les coups la bonne technique, n'est-ce pas?  :D


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed