Mail php envoyés dans les spams yahoo

angel lestat Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   -  
angel lestat Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à l'aimable et SI bienveillante communauté,

je conçois une page qui envoie des mails en ligne.
A cette fin, j'ai créé un fichier mail.php qui contient tout le code php nécessaire (je crois...); un problème se pose:
les mails envoyés vont directement dans les spams chez yahoo

mais chez hotmail je les retrouvent dans la boite de réception mais les images sont desactivées je ne sais quoi faire:

Voici mon code si quelqu'un pourrait y jetter un oeil:



  <?php
//=====Déclaration des messages  au format HTML
$message_html = "<html>
                   <head>
<style type='text/css'>
<!--
body,td,th {
    font-family: Tahoma;
    font-size:12px;    
}
hr{
    width:600px;    
}
a{
    text-decoration:none;
    color:#F60;
}
-->
</style>
                   </head>
                   <body>
                      <table style='margin:auto;'>
    <tr>
    
        <td width='143' style='border-right:solid 1px #666;'>&nbsp;</td>
        <td width='447' style='line-height:25px; padding:10px;'>
                Votre annonce a bien été ajouté   
        </td>
    </tr>
    
</table>
</body>
</html>";
                 
//=====Création de la frontiere
$boundary = md5(rand()); //frontiere pour le texte


//=====Définition du sujet
$sujet = "Accusé d'envoi de votre annonce";
//=========
 
//=====Création du header de l'e-mail
$header = "From: \"emetteur\"<no-reply@emetteur.com>".$passage_ligne; //emeteur
$header.= "Reply-to: \"".$nom_aut."\" <".$mail_aut.">".$passage_ligne; //destnataire
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/alternative; boundary=\"$boundary\"".$passage_ligne;
$header.= $passage_ligne;                 
                 

//=====Création du message
$message = '--'.$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;


//==========

 
//=====Envoi de l'e-mail
mail($mail_aut,$sujet,$message,$header); 
                
  ?>                    



je vous remercie d'avance

A voir également:

1 réponse

varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Bonjour,

Tu ne peut malheureusement pas changer cela: tant que l'utilisateur de la boite de messagerie ne dira pas a yahoo ou hotmail que tes messages sont de confiance, il les enverra automatiquement en spam ou désactivera les message...car les messages sont envoyé en PHP et considéré comme spam ou pouvant contenir des spy dans les images...
La Bretagne...le plus bel endroit au monde.
0
angel lestat Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   14
 
si c'est possible puisque je l'ai déjà fait. Mais là il y avait une pièce jointe incluse dans le mail récupérée depuis un formulaire. Le mail est envoyé et reçu sans encombre.


$message_html = "<html>
                   <head>
<style type='text/css'>
<!--
body,td,th {
	font-family: Tahoma;
	font-size:12px;	
}
hr{
	width:600px;	
}
a{
	text-decoration:none;
	color:#F60;
}
-->
</style>
				   </head>
				   <body>
				      <table style='margin:auto;'>
	<tr>
   	  <td colspan='2'><img src='http://www.kristdev.com/mproject//news_images/logo.jpg' /><br /><br />
        <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bonjour ".$nom_dst."</span>
        <hr />
        </td>
    </tr>
	<tr>
      <td colspan='2'>
       <hr />
      </td>    
    </tr>
  <tr>
    <td></td>
       <td align='right'>
    Le service <strong>CCM</strong></td>    
  </tr>
</table>
 
				   </body>
                 </html>";



//=====Lecture et mise en forme de la pièce jointe
//la piece jointe est recuperée du le repertoire temporaire des upload
$fichier   = fopen("./temp_file/".$_FILES['fichier']['name'], "r") or die('File '.$_FILES['fichier']['name'].'can t be open');
$attachement = fread($fichier, filesize("./temp_file/".$_FILES['fichier']['name']));
$attachement = chunk_split(base64_encode($attachement));
fclose($fichier);

//=====Création des  boundaries
$boundary = "-----=".md5(rand()); //frontiere pour le texte
$boundary_alt = "-----=".md5(rand()); //frontiere pour la piece jointe

//=====Définition du sujet
$sujet = "Réponse à votre annonce";
//=========
 
//=====Création du header de l'e-mail
$header = "From: \"".$nom_emet."\"<".$email_emet.">".$passage_ligne; //emeteur
$header.= "Reply-to: \"Annonceur\" <".$destinataire.">".$passage_ligne; //destnataire
$header.= "MIME-Version: 1.0".$passage_ligne;
$header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;

 
//=====Création du message
$message = $passage_ligne."--".$boundary.$passage_ligne;
$message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne;
$message.= $passage_ligne."--".$boundary_alt.$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.''.$passage_ligne;
//==========
 
$message.= $passage_ligne."--".$boundary_alt.$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;
//==========

//=====On ferme la boundary alternative
$message.= $passage_ligne."--".$boundary_alt."--".$passage_ligne;
//==========
  
$message.= $passage_ligne."--".$boundary.$passage_ligne;

 
//=====Ajout de la pièce jointe

$message.= "Content-Type: ".$file_type."; name=\"".$_FILES['fichier']['name']."\"".$passage_ligne;
$message.= "Content-Transfer-Encoding: base64".$passage_ligne;
$message.= "Content-Disposition: attachment; filename=\"".$_FILES['fichier']['name']."\"".$passage_ligne;
$message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne;
$message.= $passage_ligne."--".$boundary."--".$passage_ligne;

//=====Envoi de l'e-mail
if(mail($destinataire,$sujet,$message,$header)) echo 'message envoyé'




Ce script fonctionne très bien. Le truc c'est que j'ai un énorme problème avec les boundaries
et je me retrouve incapable d'envoyer un mail sans pièce jointe.
tu pourrais peut être m'aider à alléger tout ca?
0