msgbartop
Le blog de Julien CROUZET
msgbarbottom

10 mar 09 Ce qu’il faut savoir avant d’envoyer des emails en masse

Mangez du spam, ne l'envoyez plus

Mangez du spam, ne l'envoyez plus

Tout bon site avec une gestion des utilisateurs envoie des mails, c’est incontournable, mais pour bien le faire ; et par la même être sur qu’ils seront bien reçus et lus ; il faut respecter quelques points.

Ne pas utiliser mail()

Comment ça ? Oui !

  1. mail() fonctionne différement selon les OS
  2. mail() ouvre une socket à chaque envoi de mail dans une boucle
  3. mail() ne protège pas les en-tête (et donc permet le spam via votre site)
  4. mail() complique la gestion du MIME
  5. mail() ça craint :)

… et utiliser une librairie ou un Framework à la place

Pear::Mail_Mime, Swift Mailer, PHP Mailer ou … (je touche un € a chaque fois que je le cite :) ) Zend Framework sont vos amis, n’hésitez pas à en user et abuser.

Si vous êtes du genre à vouloir recoder la roue, au moins, inspirez vous en plutôt que d’utiliser une classe d’abstraction de mail() !

Offrir un alternative texte

Vous avez passé des heures a intégrer un joli mail HTML, très graphique et qui marche sous tous les clients mail (et oui, c’est autant le bordel que pour les navigateurs). C’est bien, et très utile, la majorité des gens apprécieront.

Mais on est sur Internet, et il y a toujours des gens qui ralent ; d’autres qui ont des outils différents. Ceux-la sont aussi de potentiels clients ou abonnés.

Offrez dont toujours une alternative texte à vos mails, les librairies et framework cités ci-dessus le gèrent tous !

Offrir un lien de désabonnement

Assez explicite, et indispensable.

Tous vos mails doivent avoir au moins un lien qui permet au destinataire de vous dire « Je ne veux plus recevoir de mail de toi ! », c’est son droit le plus strict.

Et un vrai lien, hein, qui désabonne vraiment ! Ou un adresse, qui est vraiment lue ou vous désabonnez vraiment.

De toute façon, si vous ne respectez pas ça, vous serez listé comme spammeur, tôt ou tard !

Bien configurer son serveur d’envoi de mail

Avoir un reverse

Un reverse DNS, c’est (soyons le plus simple possible) « quelque chose » qui permet de traduire une I.P. (11.22.33.44) en nom d’hôte (hostname, ex: mail.domain.com).

Il doit être mis en place sur l’IP de vos serveurs d’envoi de mail (tous les hébergeurs vous le permettent) sous peine de voir ses mails tous mis dans la boite « SPAM ».

Vérifier que l’on est pas « Open Relay »

Si tout le monde peut envoyer des mails sur votre serveur, vous êtes Open Relay.

C’est tout d’abord embétant pour vous pour des raisons de sécurité et de responsabilité. Mais en plus, il y a des Zoros du spam, comme DNSBL ou SORBS qui sont des black-list d’IP de serveurs qui, entre autre, sont Open Relay.

Si un de ces système le détecte chez vous, pareil, => SPAM.

Paramétrer votre SPF

Tout est . Si vous ne le faîtes pas, vous serez en SPAM sous Hotmail, GMail, etc.

Et aussi Domain Keys / DKIM

Idem que précédement, mais pour Yahoo!. Ca se passe ici.

Cadencez vos envois

Vous avez une newletter à envoyer à 25.000 membres ?

Évitez d’envoyer ça d’un coup, sous peine de blacklistage immédiat par GMail, Yahoo! ou AOL. Préférez un envoi modéré, par exemple, 1000 par heure.

Utilisez un return-path

Si l’adresse à laquelle vous envoyez un email ne peut le recevoir (souvent un mail sur trois …) pour diverses raisons (faute de frappe, quota dépassé, compte supprimé), il sera retourné à l’adresse spécifiée par le Return-Path.

Utilisez cette variable pour détecter les emails qui n’ont pu arriver et supprimez-les de votre base de données. Si vous essayez plusieurs fois d’envoyer un email à une adresse en erreur, toujours la même chose, vous serez identifié comme Spammer !

N’utilisez pas d’adresse d’images dynamiques

Pour savoir qui avait ouvert notre email, en 1998, on utilisait une astuce de sioux, on utilisait des images du type « http://www.monsite.com/newsletter/image.php?email=toto@aol.com ». Les spammeurs aussi …

De nos jours, c’est tellement connu et mal apprécié que même outlook sait le détécter !

Premièrement, vous n’avez pas à savoir qui à lu votre email, c’est indiscret !

Deuxièmement, vous voulez savoir, et c’est légitime, COMBIEN de personne ont ouvert votre mail. Insérez donc juste vos images de manière simple (http://www.monsite.com/newsletter/logo.gif) et la même pour tout le monde puis comptez dans votre log Apache (ou autre).

Souvenez vous juste que ce chiffre n’est pas le reflet de la réalité, et loin s’en faut :

  1. Beaucoup de gens ne cliquent pas sur « Afficher les images du mail »
  2. Les 300 personnes de chez EDF qui ont lu votre mail n’ont fait qu’une requête dans vos logs, le reste l’ont lu depuis le cache du proxy d’EDF…
  3. Certains lisent la version texte du mail, sans les images

Hébergez une version « html » de votre mail

Vous voyez surement de quoi je veux parler, le fameux lien « Cliquez ici si vous ne pouvez lire cet email ».

Beaucoup de gens ont des clients Email psychotiques (Lotus, Outlook Express de 2001, iPhone, etc.).

Buzz it!

Tags: , , ,

Commentaires, insultes ou autres

  1. |

    > http://www.monsite.com/newsletter/image.php?email=toto@aol.com

    Intéressant cette petite synthèse.

    Juste une chose sur les images espionnes, depuis 98′ on a inventé l’URL rewrite aussi…

    http://www.monsite.com/newsletter/image-id bouce].gif

    qui pointe en local sur feedback.php?id=[id bouce]

    :-)

  2. |

    Bien tenté mais non, l’ASRG recommande aux fournisseurs de services mails d’analyser les newsletter et de mettre un bad scoring si les images ne sont pas identiques (notamment si il y a une trace d’ID la dedans).

  3. |

    Et puis, au passage en 98 mod_rewrite existait déjà

  4. |

    Super post ! Très instructif. Merci

  5. |

    C’est moi qui vous remercie de vous intéresser à ce blog !

  6. |

    bon les conseils et appliqué je pense .
    moi pourtant mon hébergeur me menace de bloquer mon adresse d envoi, sachant que je doi envoyer 300 mails toutes les 5 minutes mais j ai beaucoup de mauvais email qui revienne il me dise que çà surcharge le serveur? j ai invesdti dans un programme de validation d’email

    je balise toujours à chaque envois maintenant ai-je une autre solution pour mes envois?

    merki

Laisser un commentaire