Problème PHP mail ==> Hotmail [Fermé]

nacerb 1 Messages postés lundi 19 mars 2007Date d'inscription 19 mars 2007 Dernière intervention - 19 mars 2007 à 21:59 - Dernière réponse :  jumeaux
- 31 déc. 2010 à 12:37
Bonjour
qq pourrait il m expliquer pourquoi ce script ne marche t il pas avec hotmail et est bien accepté avec yahoo , laposte.net ...etc merci d avance.............
<?
// On initialise les variables
$destinataire = "xxxxxx@hotmail.com";
$objet = "Voici une liste de sites à visiter." ;
$message_html = '
<html>
<head>
<title>Liste de site à visiter</title>
</head>
<body> Bla Bla Bla
</table>
</body>
</html>
';

/* Quelques types d’entêtes : errors, From cc's, bcc's, etc */

$boundary = "-----=" . md5( uniqid ( rand() ) );
$headers = "Reply-to: 123 Annonces Maroc <webmaster@annoncesmaroc.123.com>\n";
$headers .= "From: 123 Annonces Maroc <webmaster@annoncesmaroc.123.com>\n";
$headers .= "Cc: <zzzzzzzz@yahoo.fr>\n";
$headers .= "Bcc: zzzzzzzz@yahoo.fr, zzzzzzzzzzzzzz@laposte.net \n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";

/////////format texte


$message_txt = "Bienvenue dans le site 123 Annonces du Maroc\n\n";
$message_txt .= "Bla Bla\n";

$message = "This is a multi-part message in MIME format.\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_txt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";

///format html
$message = "This is a multi-part message in MIME format.\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_txt;
$message .= "\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $message_html;
$message .= "\n\n";
$message .= "--" . $boundary . "--\n";
// On envoi l’email
if ( mail($destinataire, $objet, $message, $headers) ) echo "Envoi du mail réussi.";
else echo "Echec de l’envoi du mail.";
?>
Afficher la suite 

7 réponses

dcanl 3026 Messages postés mercredi 7 septembre 2005Date d'inscriptionContributeurStatut 1 décembre 2013 Dernière intervention - 21 mars 2007 à 09:00
+7
Utile
1
Salut !

Alors pour te répondre, je te copie un message du service informatique de mon lieu d'études :


Bonjour,

Ce message concernant les mails des utilisateurs de Homail et Msn, peut ne pas leur arriver !

Suites à de nombreux tests nous avons constaté que des mails étaient mis en courrier indésirable voir carrément perdu. Les domaines concernés sont hotmail.com, hotmail.fr, msn.com. Après recherche, nous avons acquis la certitude que les serveurs de Hotmail
sont responsables de la perte quotidienne d'un nombre indéterminé de courriels. Les responsables de MSN France ont confirmé que ces "dysfonctionnements" étaient causés sciemment par leur politique anti-spam.

Qui est concerné ?

Toutes les personnes ayant une adresse email chez Hotmail, ou écrivant un courriel vers un utilisateur de Hotmail (forward à partir de votre compte vers une adresse hotmail ), sont concernés : leur courrier est automatiquement délivré dans le dossier "courrier indésirable" de leur compte Hotmail. Or le contenu de ce dossier est effacé rapidement (5 jours ), dans le dos des utilisateurs et sans les en avertir. Il existe bien des possibilités de contournement qui sont proposées aux grands fournisseurs d'accès moyennant finance, mais leur coût excède largement nos moyens.

Que faire ?

Vous pouvez aller consulter très régulièrement votre dossier "courrier indésirable" et ouvrir le mail désiré, puis mettre l'option appropriée soit "courrier autorisé". Vous devez faire la même démarche si le mail vient d'une liste de diffusion, en précisant bien que c'est une liste de diffusion.
Sinon, il vous faut baisser le niveau de filtrage de courrier indésirable : celui qui est activé n'est pas adapté à votre cas. Affichez les Options du service puis cliquez sur Filtre Courrier indésirable. Cochez dans la page qui s'affiche, l'option "Bas - le courrier indésirable évident est intercepté".

A noter que plusieurs organismes, tels que Ecole polytechnique conseille aux utilisateurs qui utilisent Hotmail et Msn, de changer de service de mail pour utiliser des services tels laposte.net, freesurf.fr ou encore free.fr. Vu la politique anti-spam actuelle de Microsoft, <mon lieu d'études> ne peut plus garantir le trafic d'email à destination de ce fournisseur.

Microsoft a annoncé que ses serveurs refuseraient tout courriel n'utilisant pas la technologie Sender ID qu'il a brevetée. Les prestataires de redirection de courrier et les prestataires de listes de diffusion en seront affectés : ils ne pourront pas se conformer à cette technologie car les brevets qui la protègent empêchent son implémentation dans les logiciels libres.

Cordialement,
<le service informatique>


Je pense que ça peut te donner quelques éléments de réponse...

@+
Cette réponse vous a-t-elle aidé ?  
+1
Utile
Salut, vérifie bien ta corbeille ou les messages indésirables, c'est valable pour gmail et hotmail, qui sont assez stricts. Sinon tu peux retrouver quelques fonctions intéressantes sur l'envoie de mail ici : http://www.adherun.com/tutos-voir.php?idtt=60
Riku Asakura 11 Messages postés vendredi 24 octobre 2008Date d'inscription 28 novembre 2010 Dernière intervention - 8 juin 2009 à 12:30
+1
Utile
Bonjour,
En effet le problème est toujours existant, mais si mes souvenirs sont bons un conseiller technique m'avait affirmé que c'était directement Free qui préférait bloquer les envois pour éviter des pertes de mail dans la nature, bien conscient des "problèmes" de hotmail.

Une des solutions que je te propose c'est de tout simplement refuser les adresses hotmail à l'inscription (tout en expliquant pourquoi à tes membres bien entendu). Pour cela il suffit d'utiliser une petite regex en interdisant les domaines hotmail (live, msn, hotmail).

Si ça peut t'aider, je l'avais sous les yeux justement :
if(preg_match('#^[a-z0-9._-]+@hotmail|live|msn\.[a-z]{2,4}$#is', $email))
{
//pas bon
}
else {
//OK :p
}


Pas de solution directe si ce n'est ça ;)
christophedu44 25 Messages postés samedi 17 janvier 2009Date d'inscription 27 juin 2010 Dernière intervention - 8 juin 2009 à 09:12
0
Utile
pff, je vient de lire ton message dcanl
je constate que microsoft n'a toujours rien changer : je suis en train de créer une confirmation d'inscription par mail, le mail par d'une adresse @free.fr et elle n'arrive jamais chez les @hotmail.com mais chez les adresses gmail, ça marche. J'ai meme ajouté dans mes contacts l'adresse @free.fr mais il n'y a rien à faire. Franchement je suis dégouté par hotmail je vais passer à la concurrence, mais en attendant toujours aucun moyen de faire cette fichu validation par mail.
0
Utile
je ne peux recevoir deemail non plus en envoyer que ce passe t-ilavant je clicquais sur window live et je prenais mes message maintenant plus rien....