Une goutte de sueur froide dans le café
Petite sueur froide ce matin. Notre but est de calculer au plus juste les différents prix pour les annonceurs pour l’eXpress-Board. Pour cela, nous avons besoin de quelques statistiques. Il est 08h32, je commence à coder quelques lignes. Quelques minutes plus tard, j’ai une belle page, avec de beaux chiffres… et de nouveaux soucis que je viens de m’ajouter.
Il y a eu 456 « UserRequest » depuis que j’ai lancé ce système en septembre 2010. Il s’agit des demandes de mise en relation de la part des recruteurs, à l’intention des candidats. Sur ce nombre, il y a eu 164 demandes acceptées (35.3%), 113 demandes refusées (24.72%) et surtout… petite sueur froide… 180 demandes en attente (39.8%). Comment se fait-il que les candidats ne donnent pas suite ? Ok dans le lot, il y a ceux qui ne répondent pas tout de suite. Mais c’est un chiffre un peu trop important.
Le souci n’est pas lié uniquement aux candidats qui ne répondent pas. Il est aussi lié à l’infrastructure technique que j’utilise. Les emails aujourd’hui sont envoyés via la passerelle SMTP de Gandi, qui est aussi le hosteur du domaine express-board.fr. Or cette passerelle limite l’envoi par heure, afin d’éviter de se retrouver marqué comme « spammeur ». Bref il est possible qu’un certain nombre de mes emails… ne soient pas envoyés correctement.
La goutte est tombée dans le café lorsque j’ai retrouvé un gros paquet d’erreurs sur PlayApps, lors de l’envoi d’emails à toi, cher Candidat. Gandi et sa passerelle SMTP me tappe, pour surcharger l’utilisation du serveur SMTP… Allez, on va faire un peu de DNS et de configuration ce matin…
La configuration des serveurs SMTP pour les nuls
Il est facile de configurer un serveur SMTP, mais bien plus compliqué de le rendre « présentable » pour les passerelles de filtrage. En fait, sans expérience en marketing web, sans connaisance des termes white-list, DKIM ou SPF, et bien tu ne vas pas très loin. Allez, je suis presque sûr que tu ne connais pas DKIM… fait pas ton timide.
SMTP
Petit rappel : SMTP (Simple Mail Transfer Protocol) est un protocole vieux comme le monde, qui permet de transférer des messages électroniques vers un serveur. Il ne permet pas de récupérer du courrier électronique. Pour cela vous utiliserez POP ou IMAP. On pourrait penser que le protocole a été inventé en même temps que les pigeons voyageurs, mais non. C’est plus récent.
DKIM
DKIM (DomainKeys Identified Mail) est une norme d’identification fiable des noms de domaine, qui date de 2004. Expliqué dans la RFC 4871, ce système permet en fait à l’aide d’un système de clé publique/clé privée, de garantir l’authenticité du domaine expéditeur. Elle permet aussi à des intermédiaires techniques de prendre la responsabilité de l’envoi. C’est exactement ce que je cherche : déléguer cette certification à un tiers, qui lui, est connu de vos fournisseurs d’accès.
Le système est assez simple. Les messages sont signés avec une clé RSA, une signature est ensuite communiquée à votre message de cette manière :
– tout d’abord le corps du message est signé, afin bien entendu d’éviter qu’un email modifié passe à travers la grille.
– il est possible ensuite d’ajouter d’autres headers SMTP dans la signature
– un nouveau champ SMTP appelé DKIM-Signature est ajouté, avec la liste des headers signés, différentes informations pour valider le domaine, le nom de l’algo utilisé, le hash du corps du message, le tout est empaqueté.
– les champs de l’entête ainsi que le champ DKIM-Signature sont ensuite normalisés (canonicalized en Anglais) et hashés.
– une signature RSA est calculé sur ce hash, et cette signature est ajoutée dans le champ DKIM-Signature
L’ensemble est donc un espèce de timbre poste méga-sécurisé, qui valide bien l’expéditeur, et/ou la plateforme technique ayant fait passer le message. Par contre, pour mettre cela en place, il faut avoir soit son propre serveur SMTP, soit croiser les doigts pour que votre solution actuelle l’utilise. Je crois (sans avoir vérifié) que Gandi propose ce système lorsque vous utilisez leurs relais SMTP… Donc à priori j’ai déjà. Cool.
SPF
SPF (Sender Policy Framework) est plutôt un moyen de limiter le spam en déclarant dans votre DNS quelles sont les sources valides dans votre domaine, qui ont le droit d’envoyer des emails. Par exemple, si un email arrive chez vous en provenance de 217.10.11.12 , alors que je n’ai dit que seul telle autre IP a le droit d’envoyer un email, il sera marqué comme spam. Ce n’est pas LA solution, mais un moyen simple d’améliorer aussi la réputation de son domaine.
Sinon il y a d’autres solutions
Si vous souhaitez envoyer une newsletter (une lettre de publi-information) il est peut-être plus intéressant de passer par des solutions comme MailChimp par exemple. Une API type JSON/REST permet d’intégrer dans son application tout ce qu’il faut pour créer votre newsletter, mettre à jour la liste des personnes intéressées et gérer aussi les désinscriptions. Par ailleurs la plateforme propose des outils marketing (taux d’ouverture, fréquence de lecture par jour, etc). Bref cela pourra être intéressant plus tard si je souhaite mettre en place une liste de diffusion sur l’eXpress-Board.
SendGrid est une autre solution, plus orientée du côté de l’envoi massif d’emails. Premier service intéressant : c’est votre postier. Il agit comme un tiers de confiance vis-à-vis des destinataires des emails. Techniquement, vous avez plus de chances que votre email atteigne sans soucis son destinataire, qu’en se reposant sur votre propre configuration SMTP par défaut. Ensuite, et cela peut devenir intéressant, c’est un système capable de diffuser rapidement un volume important. Ils envoient plus de 45 millions d’emails par jour pour le compte de 23 000 entreprises… La solution de base à 0.10 USD pour 1000 est ultra-compétitif. Mais pour ce prix, votre email ne sera pas reçu immédiatement par le destinataire. C’est un peu ennuyant lorsqu’il s’agit d’envoyer un rappel de mot de passe. Votre client risque de ne pas revenir sur votre site, s’il reçoit 3 heures plus tard son mot de passe. Il faut alors prendre une solution un peu plus chère, mais le tout reste raisonnable. Comptez 79 USD par mois, pour débuter.
CritSend est un poil plus technique. Le système gère aussi l’envoi, il offre un système de désabonnement automatiquement. Par ailleurs, il stocke les emails incorrects. Cela me permettrait de nettoyer par exemple chaque nuit les comptes invalides sur l’eXpress-Board. Le prix est compétitif : 20 000 emails pour 10$, bref de quoi travailler tranquillement sans soucis.
Conclusion
Je pense que je vais tester MailChimp. Le service est gratuit jusqu’à 2000 emails par moi. Il va me servir d’abord de relai SMTP. Je verrai plus tard pour ce qui est de l’envoi des newsletters.
Sinon à plus court terme, j’ai nettoyé mes enregistrements DNS, mais je crois que je vais basculer vers une solution plus pro.
Merci à @framiere, @Baztoune, @jsevellec, @cestpasdur, @ProjectBleuet, @ThibaudVibes, @fabriceclaeys et @evenisse pour vos informations cet après-midi sur Twitter.
Ressources
Voici d’autres solutions proposées.
Si votre besoin est plutôt de l’envoi d’emails transactionnels (mot de passe oublié, création de compte, facture)
– MailJet propose une offre gratuite jusqu’à 6000 emails par mois (merci Bruno S.)
– Postmark propose une offre à 1.5 $ pour 1000 emails envoyés
Si votre besoin est plutôt du type lettre d’information
– MailChimp
– Campaign Monitor est plus marketing/suivi des emails lus
Pour tester la configuration SPF d’un domaine : MyIPTest.
0 no like
J’ai pu utiliser Mailchimp plusieurs fois et c’est un vrai bonheur. Service de très grande qualité ! Certaines fonctions sont vraiment très intéressantes, je pense par exemple à l’envoi différé selon le fuseau horaire des destinataires
Et si ton MX etait chez Google Apps, tu ne pourrais pas utiliser leur SMTP et profiter de la reputation positive des serveurs de mails de Google?
Ceci explique pourquoi j’ai reçu hier une demande apparemment en attente depuis un mois 🙂
Je confirme, j’ai reçu le 2 juin une demande de mise en relation datant du 14 avril…
je confirme mailchimp c’est de la balle par contre au démarrage c’est un peu long!