Product

DigitalChalk s’appuie sur Mailgun pour ses notifications par email transactionnel

Si vous avez déjà suivi un cours en ligne, vous avez utilisé un système de gestion de l'apprentissage (LMS). DigitalChalk est un système de gestion de l'apprentissage multi-locataire leader du secteur, qui s'adresse à deux types de clients : les entreprises qui forment leur personnel et les clients e-commerce qui vendent leurs propres cours en ligne.
Image pour DigitalChalk s’appuie sur Mailgun pour ses notifications par email transactionnel

Cet article a été rédigé et publié par Jon Wilkinson, ingénieur logiciel chez DigitalChalk.

Si vous avez déjà suivi un cours en ligne, vous avez utilisé un système de gestion de l’apprentissage (LMS). DigitalChalk est un système de gestion de l’apprentissage multi-locataire leader du secteur, qui s’adresse à deux types de clients : les entreprises qui forment leur personnel et les clients e-commerce qui vendent leurs propres cours en ligne.

Un client DigitalChalk typique peut créer des événements générant des notifications par email, tels que des emails de reçu, de création d’utilisateur, d’inscription à un cours, de fin de cours, de changement de mot de passe, et bien d’autres. DigitalChalk compte des milliers de clients qui ont à leur tour des centaines (ou des milliers) d’étudiants recevant tous des emails en réponse à ces divers événements. En bref, DigitalChalk envoie de nombreux emails pour le compte de ses clients.

Intégration Mailgun

DigitalChalk est désormais intégré à Mailgun pour envoyer les emails d’événements de cours via un compte Mailgun, afin que vous puissiez profiter de toutes les excellentes fonctionnalités offertes par Mailgun. Les listes de diffusion, les campagnes marketing, les statistiques et la validation des adresses email aident les clients e-commerce à promouvoir et vendre leurs cours, tandis que le routage des emails entrants, l’intégration des webhooks, le suivi des clics et les API rapides facilitent la diffusion et le suivi des formations en entreprise. De plus, vous pouvez désormais utiliser l’adresse email de votre domaine pour vos notifications par email DigitalChalk au lieu de no-reply@digitalchalkmail.com.

Fonctionnement détaillé

DigitalChalk s’intègre actuellement à Mailgun via l’API JavaMail sur SMTP, avec le support de SSL sur le port 465 et de TLS sur le port 587. Pour connecter vos deux comptes, il vous suffit de saisir vos identifiants SMTP Mailgun et votre adresse d’expédition dans DigitalChalk :

digitalchalkblogpic1

Nous utilisons également la fonctionnalité de balise personnalisée de Mailgun pour chaque email sortant. Par exemple, l’en-tête d’email x-mailgun-tag peut avoir la valeur « USERCREATED » ou « COURSECOMPLETED ». Cela indique quel événement dans DigitalChalk a déclenché la notification et vous donne encore plus de détails dans Mailgun. Voici à quoi ces balises peuvent ressembler sur le panneau de configuration de Mailgun :

digitalchalkblogpic2

DigitalChalk utilise un cluster de serveurs de notifications dédié pour distribuer les emails sortants. Le cluster de serveurs gère la connexion, le protocole et la charge utile (HTML, texte brut et pièces jointes) échangés avec Mailgun. Dans le cas peu probable (p. ex., une panne de réseau) où nous ne pourrions pas transmettre l’email à Mailgun, nous utilisons diverses stratégies de nouvelle tentative pour garantir que l’email soit finalement distribué. L’une de ces stratégies est la stratégie de relance au cube. L’intervalle de temps entre les nouvelles tentatives augmente selon le cube du nombre de tentatives, avec un maximum de cinq tentatives. Le code calcule simplement l’heure de la tentative suivante :

                                

                                    public Date nextAttemptDate(Notification n) {rnrn    if (n.getAttempts() >= this.maxAttempts) {rn        return null;rn    }rnrn    if (n.getLastAttemptedDate() == null) {rn        return new Date();rn    } else {rn        long delayMillis = (long) (Math.pow(n.getAttempts() + 1, 3) * 1000 * 60);rn        return new Date(n.getLastAttemptedDate().getTime() + delayMillis);rn    }rnrn} rn
                                
                            

Si DigitalChalk ne parvient pas à transmettre l’email à Mailgun à la première tentative, nous patientons huit minutes (2^3) et réessayons. Ensuite, nous patientons 27 minutes pour la 3e tentative, 64 minutes pour la 4e tentative et 125 minutes pour la 5e tentative. Cette stratégie crée une belle courbe pour équilibrer la fréquence des relances et la fiabilité.

Les stratégies de nouvelle tentative réduisent considérablement les risques d’échec, mais ne les éliminent pas. Supposons que notre client modifie son mot de passe Mailgun. Dix minutes plus tard, il le met à jour dans DigitalChalk (via la capture d’écran ci-dessus). Cela laisse une fenêtre de dix minutes pendant laquelle les notifications sortantes ne parviendront pas à se connecter à Mailgun. Heureusement, dans cet exemple, la stratégie de relance au cube réussira à se connecter à la 3e tentative. Cependant, si le client attend quatre heures pour mettre à jour son mot de passe dans DigitalChalk, la stratégie de nouvelle tentative sera épuisée et la notification ne sera pas distribuée. Nous n’avons cependant pas perdu la notification, les clients peuvent voir les échecs (et leurs causes) dans DigitalChalk :

digitalchalkblogpic3

À ce stade, le client peut simplement cliquer pour relancer la notification d’origine, et le processus de livraison recommence depuis le début. Nous avons évité les potentiels emails en double, augmenté la fiabilité et rendu les échecs faciles à gérer lorsqu’ils surviennent.

Résumé

Nous sommes ravis de lancer cette nouvelle intégration avec Mailgun. Les clients DigitalChalk utilisant Mailgun bénéficieront non seulement d’une présence en ligne renforcée grâce à la personnalisation de leurs emails, mais profiteront également de fonctionnalités Mailgun supplémentaires, telles que les listes de diffusion, les campagnes marketing, la personnalisation, les statistiques, la validation des adresses et le suivi. Si vous êtes un DigitalChalk client, nous vous encourageons à vous inscrire pour obtenir votre compte Mailgun et commencer à établir votre propre image de marque par email dès aujourd’hui.

Cliquez ici pour en savoir plus sur notre intégration à Mailgun.