Fonction Mail -> Definir SMTP

Résolu
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -  
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Mon site PHP effectue l'envoi de mails automatiques qui partent presque systématiquement dans les spams.

Après m'être balladé sur le net, j'ai remarqué qu'il fallait définir le SMTP de mon FAI pour éviter ce problème.

Je veux bien le rentrer dans ma fonction mail mais je ne vois pas du tout ou.

Certains parle du fichier php.ini mais je ne vois absolument pas le lien entre un fichier sur mon PC et l'envoi automatique de mails.

Y'a t'il une fonction php pour définir le SMTP avant l'envoi de mails ? J'ai entendu parler d'ini_set et autres mais je vous avoue que je nage.
A voir également:

16 réponses

toto
 
Je n'ai défini aucun SMTP Bien sûr, ce travail revient à ton hébergeur et il l'a fait correctement. Il me semble d'ailleurs l'avoir dit dès le message n°2

Il y a une anomalie dans ton code, mais je ne sais pas si elle suffit pour expliquer que ton mail soit pris pour du spam. Le format de $entete n'est pas correct : les diverses parties de l'en-tête doivent être séparées par "\r\n", pas seulement "\n". Et il n'y en a pas besoin à la fin de $entete.
1
toto
 
Je viens de lire la doc, elle ne parle de ce problème que pour le champ "to" sur les plates-formes windows. Donc l'explication que je t'ai donnée n'est sans doute pas la bonne.
Je viens de remarquer que tu as mis From 2 fois : une fois dans $entete et une autre fois dans la fonction mail. C'est plutôt ça la raison !
1
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
hello
définir
SMTP = <smtp.fai.com>
dans le fichier php.ini
0
toto
 
Bonjour

Si tes mails partent dans le spam, c'est que le serveur SMTP de ton hébergeur est correctement configuré. Et ceux qui te donnent des conseils sur la modification de php.ini ont mal lu ton message.
Le paramétrage du serveur SMTP n'a absolument aucun rapport avec le fait que tes envois soient pris pour du spam.
J'ai bien peur que ton hébergeur n'héberge des vrais spammeurs. Résultat : son IP apparaît sur des listes noires, et les logiciels de filtrage qui se basent sur l'IP écartent aussi les tiens, car ils viennent de la même adresse. Note que ce n'est qu'une supposition de ma part.
0

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

Posez votre question
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   17
 
@dubcek ou se trouve le fichier php.ini ? sur mon ordinateur ? si c'est le cas, comment mon site internet peut envoyer des mails automatiques si mon pc est éteint ? Sinon expliques un peu, parce que je ne comprend pas.

@toto Merci de ta réponse, mais je doute que le problème vient de là. Apparemment, toute utilisation de la fonction mail() sans configuration; envoie des mails considérés comme spam chez certains hébergeurs (comme hotmail par exemple).
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
si je comprends le post 1 c'est le serveur PHP qui envoie le mail pas le pc, le php.ini est dans
1. The directory from which the PHP script was called
2. The root of your Web directory (typically public_html)
3. The Web server's default php.ini
0
toto
 
toute utilisation de la fonction mail() sans configuration; envoie des mails considérés comme spam
Tu te trompes. Toute utilisation de la fonction mail sans définition du serveur SMTP fait que les mails ne peuvent pas partir. Ils ne risquent donc pas d'être pris pour du spam à l'arrivée. Comment peux-tu concevoir d'envoyer un mail sans serveur SMTP ? Tu vas me dire, quand on ne sait pas ce que signifie ce paramètre, on peut toujours lui prêter des pouvoirs magiques...
0
toto
 
complément : ce paramètre est défini chez ton hébergeur, c'est lui qui envoie tes mails, pas ton PC. Dubceck semble croire que tu travailles en local
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
non
0
toto
 
Tu ne crois pas qu'il travaille en local, et tu lui demandes de modifier son php.ini ? Ou tu crois qu'il a accès au php.ini de son hébergeur ? On aura vraiment tout vu !!!
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 636
 
Mon site PHP
sic
0
toto
 
Depuis ta réponse 7, j'aii bien compris que tu avais compris qu'il ne travaillait pas en local. Sachant cela, c'est encore plus absurde de lui demander de modifier le php.ini, justement !
0
toto
 
linux21 -> Apparemment, toute utilisation de la fonction mail() sans configuration; envoie des mails considérés comme spam chez certains hébergeurs (comme hotmail par exemple)
Ah bon ? Et qu'entends-tu pas 'sans configuration' ? Parce que sans aucune configuration de la fonction mail, les mails ne partent pas du tout. Alors, quels éléments de la configuration peuvent manquer pour conduire à ce que des mails partent quand même mais soient pris pour du spam ?
0
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   17
 
Toutes mes excuses pour ce retard. Pour l'exemple, je vous fait part d'un de mes petits bouts de code.

Voilà un de mes mails automatiques:

____________________
//Fonction mail
$entete.= "From: xxxxxxx <xxxxxxx@xxxxxxxx.com>\n"; // Adresse de l'expéditeur.
$entete.= "Reply-To: xxxxxxx<xxxxxxx@xxxxxxxx.com>\n";
$entete.= "Content-type:text/html; charset= iso-8859-15\n";
$dest= $email; // Adresse du destinataire.
$sujet="Xxxxxxxx XxxxxxxxxxX XX"; // Le sujet du Mail.
$message="Bonjour xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x";
mail($dest,$sujet,$message, "From : $entete");
___________________

L'email s'envoie sans problèmes mais tombe régulièrement dans les spams. Je n'ai défini aucun SMTP !
0
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   17
 
Tu résout mon problème toto ! Tu m'enlève une grosse épine du pied, merci à toi.

Par contre, le nom de l'expéditeur, dans ce code "From: xxxxxxx..." résulte (inconnu) à l'envoi du mail. Un pansement contre ça ?
0
toto
 
Il me semble que php gère mal les adresses au format nom <adresse@xx.fr>. Je n'ai pas le temps de relire la doc, je pars, mais essaye avec adresse@xx.fr tout court
0
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   17
 
c'est dommage j'aurai preferé un nom plutot que l'email.
0
linux21 Messages postés 74 Date d'inscription   Statut Membre Dernière intervention   17
 
Parfait toto ^_^
0