2010-10-02 4 views
6

Mon site Web envoie des e-mails aux utilisateurs à l'aide de la fonction de messagerie PHP. Les utilisateurs Hotmail et Gmail ne les reçoivent pas, ou ils se retrouvent dans le dossier SPAM. Voici l'en-tête d'un message marqué comme SPAM par Gmail.fonction de messagerie php: messages légitimes marqués comme spam par gmail et hotmail

Que faire?

Delivered-To: [email protected] 
Received: by 10.216.213.222 with SMTP id a72cs207473wep; 
     Sat, 2 Oct 2010 04:26:47 -0700 (PDT) 
Received: by 10.216.3.19 with SMTP id 19mr3099233weg.108.1286018806068; 
     Sat, 02 Oct 2010 04:26:46 -0700 (PDT) 
Return-Path: <[email protected]> 
Received: from drt01.dco.fusa.be (drt01.dco.fusa.be [193.110.251.55]) 
     by mx.google.com with ESMTP id m29si2837219weq.203.2010.10.02.04.26.45; 
     Sat, 02 Oct 2010 04:26:46 -0700 (PDT) 
Received-SPF: pass (google.com: best guess record for domain of [email protected] designates 193.110.251.55 as permitted sender) client-ip=193.110.251.55; 
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of [email protected] designates 193.110.251.55 as permitted sender) [email protected] 
Received: from admin by drt01.dco.fusa.be with local (Exim 4.69) 
    (envelope-from <[email protected]>) 
    id 1P20En-000303-Lo 
    for [email protected]; Sat, 02 Oct 2010 13:26:45 +0200 
To: [email protected] 
Subject: Koopte: zoekertje activeren 
X-PHP-Script: www.koopte.be/confirmation.php for 213.118.179.121 
From: Koopte <[email protected]> 
Reply-To:<[email protected]> 
Content-Type: text/html; charset=iso-8859-1 
Message-Id: <[email protected]> 
Sender: <[email protected]> 
Date: Sat, 02 Oct 2010 13:26:45 +0200 
+2

Je ne sais pas si c'est important, mais avez-vous envisagé de définir le 'Return-Path' à la même chose que l'en-tête' From'? – Wrikken

+0

êtes-vous une adresse IP dédiée ou partagée IP? – RobertPitt

+0

Connexe: http://stackoverflow.com/questions/371/how-do-you-make-sure-email-you-send-programmatically-is-not-automatically-marked –

Répondre

5

L'adresse de votre enveloppe ne correspond pas à l'adresse. C'est la principale raison pour laquelle les mails sont considérés comme spam. L'arrière-plan est: L'adresse de l'enveloppe (dans votre cas [email protected]) n'est pas vraiment visible par l'utilisateur. Il est juste utilisé par les serveurs de messagerie pour renvoyer les messages d'erreur. Historiquement parce qu'ils sont plus pertinents pour l'administrateur que pour l'utilisateur. Cependant, aujourd'hui, son standard de facto pour définir l'adresse de l'enveloppe à la même que l'adresse de l'utilisateur. Les spammeurs ne le font pas vraiment, soit parce qu'ils n'en ont pas la possibilité, soit parce qu'ils ne veulent pas recevoir tous les mails d'erreur de backbouncing lorsqu'ils envoient du spam. Ou ils ne veulent pas que les utilisateurs exploités avec le ver trojan soient conscients de leur malfaisance.

En php/sendmail cette fonction est appelée le paramètre f. Vous pouvez lire tout cela dans la documentation de la fonction: http://php.net/manual/en/function.mail.php

classes comme phpmailer ou libmail le font leur moi et est probablement la meilleure idée d'utiliser l'un des theese parce qu'ils ont été testés, sont bien conçus et réagir aux changements dans leur développement! La prochaine chose que vous pouvez faire est de mettre le reverse-dns dans le même domaine que l'adresse de l'expéditeur. Si vous faites cela, vous êtes vraiment, vraiment digne de confiance parce que le courrier peut être apparié à un serveur et donc à un provbider/admin et pourrait être facilement mis sur liste noire par les réseaux de spam. Donc, si vous spammer avec un DNS correctement configuré, vous ne le feriez pas longtemps. Il existe une directive intégrée dans arpa rulse que la mise en place d'une telle entrée prend un certain temps, donc il ne peut pas être rendu danymically et exploité.

Ceci est cependant plutôt avancé et il ne peut y avoir qu'une seule entrée DNS inverse par adresse IP. Vous ne pouvez donc pas le faire sur un environnement d'hébergement partagé. Vous devez également contacter votre fournisseur pour les configurer, mais vous pouvez google pour tout cela.

Résumer:

  • corriger votre adresse d'enveloppe, qui devrait être bien
  • si vous le pouvez, définir une entrée inverse dns

PS: Il n'y a pas de règles vraiment comment et quand considérer un mail comme un spam et les techniques ci-dessus n'ont fait leurs preuves que dans la praxis mais il n'y a absolument aucune garantie. Chaque fournisseur de messagerie peut faire ce qu'il veut ... (Yahoo a été l'un des theese candidats à faire leur propre chose et pour embêter tout le monde avec elle dans le passé)

bonne chance

+0

salut, merci pour votre réponse – katanka1982

+0

J'ai décidé d'installer php mailer et de le tester. Cela fonctionne mieux maintenant, mais pour certains messages Gmail, les messages sont toujours marqués comme SPAM. J'ai installé la même configuration de test sur un autre serveur et ces messages arrivent correctement. Étrange comme ce deuxième serveur a mauvais rdns. D'autres idées? – katanka1982

1

Essayez d'utiliser des applications google et réglage l'enregistrement spf, aller à la configuration -> sécurité et la mise en place de la clé txt dkim. Ensuite, configurez les enregistrements mx, etc. faites tout cela sur un sous-domaine de votre domaine (par exemple, int.domain.com), puis utiliser smtp pour envoyer le courrier de phpmail après la signature sur le compte dans google, en cliquant sur le bouton paramètres sur la droite, cliquez sur paramètres, php/imap, et en activant les deux.

Cela fonctionne toujours pour moi et ils ne sont jamais marqués comme spam parce qu'ils proviennent des serveurs de Google et un en-tête valide, chemin de retour, l'expéditeur, smtp, record spf, record txt DKIM, enregistrements mx, etc.

Essayez-le et faites le moi savoir si cela fonctionne :)

Questions connexes