Cloud #4: Gérer l’envoi et la réception de mail
Je continue ma série d’articles sur le cloud pour parler aujourd’hui de tout ce qui a trait au mail. Que ce soit pour envoyer des newsletters ou faire du mail transactionnel, le but quand on envoie un mail est d’être assuré qu’il arrive à destination, et si ce n’est pas le cas, d’avoir le retour nécessaire pour réagir (supprimer une adresse invalide d’une liste de diffusion, afficher un message dans l’espace client pour signaler au client que son email n’est plus valide, etc). Enfin, pour les campagnes marketing, avoir des stats sur les performances de la campagne est une nécessité.
Il y a encore quelques années, pour faire du mailing, soit il fallait vendre un rein pour passer par un provider spécialisé dans ce type d’activité, soit y aller en mode “roots”, et donc tout faire soit même, avec plus ou moins de succès (généralement moins que plus): vous conserviez votre rein, mais vous aviez un système généralement pas fiable, peu performant, et galère à maintenir. Mais depuis quelque temps, le low-cost à fait son entrée dans ce secteur d’activité, et tout le monde peut maintenant disposer de solutions performantes pour gérer l’envoi et la réception de mails à partir d’un service web. En général, chaque service existant se focalise soit sur la gestion de newsletter, soit sur l’envoi brut de mail (ie relai SMTP).
h2. Newsletters
Pour la gestion de listes de diffusion, les services les plus populaires actuellement sont:
- MailChimp, c’est ce que j’utilise et j’en ai parlé ici. Cela reste pour moi la référence dans le domaine, avec des prix abordables.
- Aweber, que Thierry a testé ici
- Il y a aussi d’autres services que je n’ai pas testé, mais qui en terme de rapport fonctionnalités/prix sont dans la moyenne des deux services cités ci-dessus: je pense en particulier à Mad Mimi, SendLoop, Campaign Monitor, Newsberry ou encore Constant Contact.
Pour tout ces services, non seulement vous disposez de tout un tas d’outil pour gérer vos abonnés, vos campagnes, mais vous avez généralement aussi accès à une API et surtout, à des outils pour construire facilement votre newsletter, à l’aide de templates HTML pré-testés et donc compatible avec la plupart des clients mails.
h2. Mails transactionnels
Pour la gestion des mails transactionnels (ie, confirmation d’inscription, mot de passe perdu, alertes individualisées, confirmation de commande, etc) il y a actuellement 4 acteurs majeurs de mon point de vue:
- Sendgrid, c’est la solution que j’utilise actuellement. Vous pouvez bénéficier de 25% de réduction sur votre abonnement en utilisant ce lien.
- Mandrill est un service de mail transactionnels édité par la société qui est derrière MailChimp. C’est le service le moins cher du marché, et la deliverabilité est très bonne. J’envisage de passer chez eux.
- Postmark, qui prône l’envoi de mail uniquement via du code (pas de relai SMTP). Pourquoi pas, mais du coup, cela demande un peu plus de travail pour adapter votre application à ce type de fonctionnement. Personnellement cela m’a rebuté.
- Amazon SES: Amazon, le dernier entrant dans le business, a sorti une offre choc puisque leurs tarifs sont 10 fois moins cher en moyenne que tous les concurrents. Mais pour moi, cette solution n’est pas viable actuellement pour une raison simple: il n’y a aucun moyen d’avoir des statistiques par message et donc de savoir précisément quelles sont les adresses emails qui ne sont plus valides et pour lesquelles les mails n’arrivent pas. Mais le jour ou ils ajoutent une véritable traçabilité des mails, je signe direct car le tarif est imbattable ;-)
Pour tout les services cités ci-dessus, les tarifs d’envoi sont généralement autour de 1.5$/1000 mails envoyé (et 0.15$/1000 mails chez Amazon). Pour bien utiliser ces services, le mieux est généralement de configurer un serveur postfix sur votre espace d’hébergement, et de le configurer pour qu’il transmette tous les mails au relai SMTP proposé par le fournisseur de mail que vous avez retenu. Ainsi vous disposez d’une gestion de queue d’envoi, ce qui évite que votre application ne prenne trop temps à faire partir un mail si votre appli se connectait directement à votre fournisseur de messagerie. Pour savoir comment paramètrer correctement votre relai SMTP, inspirez vous de l’exemple donné par SendGrid en adaptant avec le nom d’hôte et les codes d’accès communiqués par le fournisseur que vous avez retenu.
h2. Mails entrants
Dans certaines applications, vous pouvez avoir besoin aussi de traiter du mail entrant, et plus particulièrement d’analyser et stocker ces mails dans une base, et déclencher des actions dans votre application (ex: tickets de support, gestionnaire de taches, outil de CRM, etc). Encore une fois, vous pouvez vous armer de courage et développer tout cela à la main, ou bien passer par une passerelle dédiée qui va se charger de transformer chaque mail reçu en un semble de champs et poster le resultat sur une url dédiée de votre application: traité un mail entrant revient alors à traiter un simple formulaire entrant, ce qui est bien plus simple.
Sendgrid propose ce type de service en standard avec leurs abonnements. Mais vous pouvez aussi vous tourner vers Cloud Mailin qui s’est spécialisé sur la gestion du mail entrant. Le service est en beta gratuite depuis plusieurs mois donc n’hésitez pas à tester, cela ne vous coute rien et cela vous fera gagner du temps ;-)
h2. Et dans la vraie vie?
En passant par ce type de service, j’ai pu mettre en place très simplement sur MonAE, l’outil de facturation en ligne que j’édite, un système qui permet à chaque client de suivre l’envoi de ses factures. Quand le client envoi sa facture depuis MonAE, il peut savoir si l’email est revenu en erreur (et en connaitre la raison afin de corriger et renvoyer sa facture) ou bien constater que l’email est bien arrivé: c’est un vrai plus, surtout quand on parle de facturation car tout le monde veut être certain d’être payé et pour cela, il faut déjà être certain que le client reçoit bien la facture ;-)
De même sur RePlay, je peux indiquer aux utilisateurs lorsqu’ils se connectent que nous ne pouvons plus leur envoyer les alertes personnalisés demandées, ce qui permet à l’utilisateur de corriger et réactiver ses alertes par email. Au passage, cela me permet aussi d’arrêter d’envoyer pour rien des alertes qui ne seront pas reçues, et cela limite donc le risque de finir par être considéré comme un spammeur par certains ISP uniquement parce que j’enverrai en permanence des messages sur des adresses invalides.
Pour conclure, vous l’aurez compris, il est important de confier la gestion de vos envois de mails à un fournisseur dont c’est le métier. Chercher à tout gérer soi-même n’est plus du tout une bonne solution: cela vous coutera cher, pour un résultat médiocre. Le cloud a permis d’introduire le low-cost dans ce secteur d’activité, il faut donc en profiter et en abuser ;-) Comme d’habitude, n’hésitez pas à utiliser les commentaires pour me faire part de vos propres expériences dans le domaine.
Cet article fait parti d’une série sur des cas concrets d’utilisation du cloud.