IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

pourquoi ce mail est-il vu comme du spam ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut pourquoi ce mail est-il vu comme du spam ?
    Bonsoir,

    souci : le mail que je voudrais envoyer est vu comme du spam, et je ne comprends pas pourquoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    //envoi d'un mail pour la validation
    $mailemetteur="---";
     
    $message_html='Pour confirmer votre inscription, veuillez cliquer sur ce mail : <a href="---">---</a>';
    $message_html = $message_html."\n\n";
    $message_html=stripslashes($message_html);
     
    $sujet="confirmation de votre inscription &agrave; telepamedia.com";
    $destinataire = $mail;
    $message = $message_html;
    $em=$mailemetteur;
     
     
    $headers  = "MIME-Version: 1.0 \n";
    $headers .= "Content-type: text/html; charset=iso-8859-1 \n";
    $headers .= "From: $em  \n";
    $headers .= "Disposition-Notification-To: $em  \n";
     
       // Message de Priorité haute
       // -------------------------
    $headers .= "X-Priority: 1  \n";
    $headers .= "X-MSMail-Priority: High \n";
     
    echo 'dest='.$destinataire,'<br>sujet='.$sujet.'<br>msg='.$message.'<br>header='.$headers;
    mail($destinataire,
         $sujet,
         $message,
         $headers);

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2009
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2009
    Messages : 126
    Par défaut
    A qui envoies tu ce mail ?
    Il y a de fortes chances pour que l'ip du serveur qui envoie ce mail soit en liste noire sur certains serveur type entreprise...

  3. #3
    Membre chevronné
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 489
    Par défaut
    Ca peut être dû à l'IP du serveur effectivement.

    Il est aussi fortement recommandé d'éviter les priorités hautes pour les envois de mail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $headers .= "X-Priority: 1  \n";
    $headers .= "X-MSMail-Priority: High \n";
    Priorité 3 / Normal

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $message_html=stripslashes($message_html);
    Aucun rapport mais tu vires ton <a> ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $headers  = "MIME-Version: 1.0 \n";
    $headers .= "Content-type: text/html; charset=iso-8859-1 \n";
    $headers .= "From: $em  \n";
    $headers .= "Disposition-Notification-To: $em  \n";
    As-tu réellement besoin d'une notification ? Pas mal de serveurs la refusent ou la trouvent louche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Message de Priorité haute
    // -------------------------
    $headers .= "X-Priority: 1  \n";
    $headers .= "X-MSMail-Priority: High \n";
    Là, idem. Pas mal de serveur n'aime pas ça... Surtout si c'est fréquent du même serveur.

    De la même manière, il vaut mieux que l'adresse émettrice (from) ait le même nom de domaine que le serveur envoyant.

  5. #5
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 495
    Billets dans le blog
    1
    Par défaut
    C'est franchement étonnant, car, sur le même serveur, si j'exécute ce code :
    testmail.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php 
    $destinataire = 'mon_adresse_perso@aol.com';
    $sujet ='test';
    $message = 'test';
    $em='mon_adresse_perso@aol.com';
     
       $headers  = "MIME-Version: 1.0 \n";
       $headers .= "Content-type: text/html; charset=iso-8859-1 \n";
       $headers .= "From: $em  \n";
       $headers .= "Disposition-Notification-To: $em  \n";
     
    $CR_Mail=mail($destinataire,
         $sujet,
         $message,
         $headers);
     
       if ($CR_Mail === FALSE)   echo " ### CR_Mail=$CR_Mail - Erreur envoi mail <br> \n";
       else                      echo " *** CR_Mail=$CR_Mail - Mail envoyé<br> \n";   
    ?>
    je reçois bien le mail, et si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     ...
    $Subject='test';
    $destinataire='mon_adresse_perso@aol.com';
    $mail_Data='test';
    $mailemetteur=$em='mon_adresse_perso@aol.com';
     
    $headers  = "MIME-Version: 1.0 \n";
    $headers .= "Content-type: text/html; charset=iso-8859-1 \n";
    $headers .= "From: $em  \n";
       ?>
      <iframe frameborder=0 src="http://---/mail/mail.php?dest=<?=$destinataire?>&sujet=<?=$Subject?>&message=<?=$mail_Data?>&em=<?=$mailemetteur?>" width=0 height=0></iframe>
    ...
    et mail.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?php 
    $destinataire = $_GET['dest'];
    $sujet =$_GET['sujet'];
    $message = $_GET['message'];
    $em=$_GET['em'];
     
     
       $headers  = "MIME-Version: 1.0 \n";
       $headers .= "Content-type: text/html; charset=iso-8859-1 \n";
       $headers .= "From: $em  \n";
       $headers .= "Disposition-Notification-To: $em  \n";
     
     
    mail($destinataire,
         $sujet,
         $message,
         $headers);
    ?>
    Si quelqu'un comprend, je suis preneur...

    De la même manière, il vaut mieux que l'adresse émettrice (from) ait le même nom de domaine que le serveur envoyant.
    Ca, c'est difficile, vu qu'il s'agit de l'adresse de l'utilisateur...
    Aucun rapport mais tu vires ton <a>
    Le seul lien est dans le texte, et je ne peux l'enlever...

  6. #6
    Membre émérite

    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 411
    Par défaut
    Et as-tu surtout essayé ce qu'on t'a indiqué ?
    • Retirer les notifications (c'est i-n-u-t-i-l-e)
    • Retirer les priorités (inutiles mais apparemment tu l'as fait)


    Au risque de me répéter sur ce forum au sujet de PHP et de l'envoi de mail : Ce n'est pas magique ni précis. Pourquoi ? Parce que là, ce n'est pas juste de l'affichage, c'est de la communication entre serveyr et il faut montrer patte blanche. Quasiment tous les serveurs publics de mail serrent la sécurité de réception et font attention à tout.

    Et quand je dis tout, c'est tout. En gros, la plupart du temps et sauf grosse faute (le mot "viagra" dans le mail ou dans l'objet par exemple ), chaque faute augmente d'un certain nombre de points et au delà d'un certain "score", ça passe en spam voir en non-réception (refus du serveur).

    Il suffit de peu pour passer d'un côté vers l'autre. Il faut donc optimiser à fond.

    Dans le cas de ton iframe, je vais être obligé de demander plus de détails :
    l'iframe fait-elle appel à un autre serveur ou est-ce le même que pour les autres pages ? L'encodage de tes fichiers sont-ils similaires ? (oui, ça compte, tu indiques que tu es en ISO-..., si ton fichier est en utf-8, ça va pas aller) Et surtout, pourquoi faire un test aussi bizarre ? Franchement, je n'en comprend pas l'intérêt, si ce n'est que nous montrer que l'envoi de mail n'est pas une science précise...

    Citation Envoyé par laurentSc Voir le message
    Ca, c'est difficile, vu qu'il s'agit de l'adresse de l'utilisateur...
    Le seul lien est dans le texte, et je ne peux l'enlever...
    Au temps pour moi pour le lien, j'ai confondu stripslashes et strip_tags... C'était pas la bonne heure

    Par contre, avoir l'adresse utilisateur en from, c'est chaud. Carrément. Un trop grand nombre d'envoi sur le même serveur (plein d'adresses @gmail.com par exemple) depuis ton serveur avec des from "farfelus" peut te faire blacklister l'adresse IP de ton serveur (c'est pas immédiat, ce n'est pas sûr, mais ça risque). Je serai toi, je mettrais une adresse avec ton nom de domaine en from et, à la rigueur, l'adresse émettrice en reply-to (et même ça, c'est risqué je trouve.)


    Pour finir, si ton/tes serveurs sont blacklistés (et même pas forcément dans ce cas en fait), je te conseille fortement d'utiliser une classe de mail (phpmailer, Zend_Mail, la super classe d'envoi d'email d'axiom , etc.) et de configurer un serveur SMTP pour cela.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pourquoi cout est-il défini comme cela?
    Par Cédric Doucet dans le forum C++
    Réponses: 5
    Dernier message: 24/04/2015, 18h16
  2. Les e-mails envoyés sont considérés comme du spam
    Par etters dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 24/06/2009, 16h06
  3. Réponses: 5
    Dernier message: 17/08/2006, 18h32
  4. [Plugin][VE]pourquoi la fenetre est dans la barre des taches
    Par voyageur dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/06/2005, 09h59
  5. Réponses: 8
    Dernier message: 04/08/2004, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo