fonction mail() de php et Hotmail et consors

Nouveau WRInaute
J'utilise la fonction mail() pour envoyer un email contenant le lien de confirmation pour l'inscription sur mon site.

Malheureusement je constate que ces mails sont bloqué par les filtres antispam de hotmail, aol, laposte...

Comment dois-je faire pour que ces mails passent?

On m'a parlé des header, si quelqu'un connait les headers pour que ces mails passent, merci!
 
WRInaute accro
j'ai vu un sujet sur la question il n'y a pas longtemps.. Le gars avait rajouté des "choses" dans les entetes (des X-quelquechose) à la suite de quoi les mails sont passés chez hotmail

Une petite recherche sur wri s'impose.
 
Nouveau WRInaute
mahefarivony a dit:
j'ai vu un sujet sur la question il n'y a pas longtemps.. Le gars avait rajouté des "choses" dans les entetes (des X-quelquechose) à la suite de quoi les mails sont passés chez hotmail

Une petite recherche sur wri s'impose.


c'est ce que je cherche, mais j'arrive plus à le retrouver
 
WRInaute discret
Code:
$head .= "X-Sender: <www.site.tld>\n";
$head .= "X-Mailer: PHP\n";
$head .= "X-auth-smtp-user: email@site.tld \n";
$head .= "X-abuse-contact: abuse@site.tld";
C'est pas ça que tu cherches par hasard. :wink:
 
WRInaute occasionnel
voila le sujet :

https://www.webrankinfo.com/forum/t/mails-aux-membres-qui-partent-dans-leur-courrier-indesirable.15120/

et voila la solution :


Hotmail vire tout les mail en courrier indésirable entre autres quand l'entete n'est pas la meme que l'email , c'est assimilé comme du spam.

Il faut deja que tu trouve quel entete ton serveur envois quand tu utilise mail()
Utilise une fonction mail() brute , sans entete sans rien , et tu t'envois un mail.
Tu va voir sous outlook l'entete de email et tu verra ( propriete /detail ) :

Return-Path: <ton serveur>


moi j'avais Return-Path: <anonymous@nsXXXX.ovh.net> car j'ais un dédié sous OVH mais si u es en mutualisé sous ovh par exemple tu aura peut etre

Return-Path: <toi@60gp.ovh.net>


Ce qu'il faut que tu fasse , tu regarde qu'elle est l'entete que ton serveur envois puis tu le spécifie dans tes entete comme ceci :


$email="EMAIL.";
$sujet="SUJET";
$message="MESSAGE";
$entete="From: webmaster@dsdssdcom <TON-ENTETE-QUE-TU-AURA-TROUVER-VOIR-PLUS-HAUT>\n";
$entete.="Reply-to: webmaster@dsdssdcom ";

mail($email,$sujet,$message,$entete);
 
Nouveau WRInaute
Je viens d'essayer ta méthode en utilisant le script suivant:

$email="moi@hotmail.com";
$sujet="SUJET 8:43";
$message="MESSAGE";
$entete="From: monsite@240plan.ovh.net\n";
$entete.="Reply-to: news@monsite.be ";

mail($email,$sujet,$message,$entete);

Mes paramètres hotmail de "Junk E-Mail Protection" sont "Enhanced - most junk e-mail is caught"

Et du coup le mail passe directement dans le junk mail

Mais j'avoue par contre que lorsque je mets les paramètres sont "low"
Le mail est passé sans soucis

Le problème est que à mon avis la plupart des utilisateurs mettent justement cette protection à " Enhanced " donc que faire pour que ça passe
 
Nouveau WRInaute
Edité?
Tu veux dire par là que ça se trouve ailleurs dans le forum
Pourtant il me semble que j'ai bien fouillé, mais j'ai rien trouvé par rapport à ce cas précis.....
 
Nouveau WRInaute
je n'ai toujours pas trouvé de solution qui fonctionne à ce problème.

j'ai un dédié chez ovh et je sais qu'il y a une solution mais je ne la connais pas... si quelqu'un la connais , merci de m'aider!
 
Nouveau WRInaute
Salut,


cof, cof... je dépoussière :)


Pour info, le smartscreen de Hotmail me bloquait mes emails via la fonction mail()

La solution evoquée par Gaëtan R fonctionne bien, j'ai juste rajouter les lignes qu'il cite dans mon header et c'est bon.

Merci !
 
Discussions similaires
Haut