Problème PHP mail ==> Hotmail

Fermé
nacerb Messages postés 1 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 19 mars 2007 - 19 mars 2007 à 21:59
 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.";
?>

6 réponses

dcanl Messages postés 2999 Date d'inscription mercredi 7 septembre 2005 Statut Contributeur Dernière intervention 3 juin 2013 470
21 mars 2007 à 09:00
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...

@+
7
va voir ici http://infomike.free.fr/phpBB3/viewtopic.php?f=12&t=280 tu aura un debut de réponse.
0
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
1
Riku Asakura Messages postés 11 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 28 novembre 2010 1
8 juin 2009 à 12:30
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 ;)
1
http://www.usenet-forums.com/php-language/21508-mail-function-hotmail-com.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
christophedu44 Messages postés 25 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 27 juin 2010 49
8 juin 2009 à 09:12
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
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....
0