Product
DigitalChalk nutzt Mailgun für Transaktions-E-Mail-Benachrichtigungen
Dieser Beitrag wurde verfasst von Jon Wilkinson, Software Engineer bei DigitalChalk.
Wenn Sie schon einmal einen Online-Kurs absolviert haben, haben Sie ein Learning Management System (LMS) genutzt. DigitalChalk ist ein branchenführendes, mandantenfähiges Learning Management System, das zwei Arten von Kunden bedient: Unternehmenskunden, die ihr Personal schulen, und E-Commerce-Kunden, die eigene Kurse online anbieten.
Ein typischer DigitalChalk-Kunde erstellt Ereignisse, die E-Mail-Benachrichtigungen auslösen, wie zum Beispiel Beleg-E-Mails, E-Mails zur Nutzererstellung, E-Mails zur Kursanmeldung, E-Mails zum Kursabschluss, E-Mails zur Passwortänderung und viele weitere. DigitalChalk hat Tausende von Kunden, die wiederum Hunderte (oder Tausende) von Kursteilnehmenden haben, die alle als Reaktion auf diese verschiedenen Ereignisse E-Mails erhalten. Kurz gesagt: DigitalChalk versendet im Auftrag seiner Kunden eine Menge E-Mails.
Mailgun-Integration
DigitalChalk ist nun mit Mailgun integriert, um E-Mails zu Kursereignissen über ein Mailgun-Konto zuzustellen. So profitieren Sie von allen herausragenden Funktionen, die Mailgun bietet. Mailinglisten, Marketing-Kampagnen, Analysen und die Validierung von E-Mail-Adressen helfen E-Commerce-Kunden, Kurse zu vermarkten und zu verkaufen, während E-Mail-Routing für den Posteingang, Webhook-Integration, Klick-Tracking und schnelle APIs dabei unterstützen, Unternehmensschulungen bereitzustellen und nachzuverfolgen. Außerdem verwenden Sie jetzt Ihre eigene Domain-E-Mail-Adresse für Ihre E-Mail-Benachrichtigungen von DigitalChalk anstelle von no-reply@digitalchalkmail.com.
Die technischen Details
DigitalChalk integriert Mailgun derzeit über die JavaMail-API per SMTP und bietet Support für SSL auf Port 465 sowie TLS auf Port 587. Um Ihre beiden Konten zu verbinden, geben Sie einfach Ihre SMTP-Anmeldedaten von Mailgun und die Absenderadresse in DigitalChalk ein:

Zudem nutzen wir die Funktion von Mailgun für benutzerdefinierte Tags bei jeder ausgehenden E-Mail. Die E-Mail-Kopfzeile x-mailgun-tag könnte beispielsweise den Wert „USERCREATED“ oder „COURSECOMPLETED“ haben. Dies zeigt an, welches Ereignis in DigitalChalk die Benachrichtigung ausgelöst hat, und liefert Ihnen noch mehr Details in Mailgun. So könnten diese Tags im Control Panel von Mailgun aussehen:

DigitalChalk nutzt ein dediziertes Benachrichtigungsserver-Cluster, um ausgehende E-Mails zu verteilen. Das Server-Cluster verwaltet die Verbindung, das Protokoll und die Nutzdaten (HTML, reiner Text und Anhänge), die mit Mailgun ausgetauscht werden. In dem unwahrscheinlichen Fall (z. B. bei einem Netzwerkausfall), dass wir die E-Mail nicht an Mailgun übergeben können, setzen wir verschiedene Wiederholungsstrategien ein, um sicherzustellen, dass die E-Mail letztendlich zugestellt wird. Eine dieser Wiederholungsstrategien ist die kubische Wiederholungsstrategie. Die Zeitspanne zwischen den Wiederholungen erhöht sich um die dritte Potenz der Anzahl der Versuche, bei maximal 5 Wiederholungen. Der Code berechnet dabei ganz einfach die Zeit für den nächsten Versuch:
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
Falls DigitalChalk die E-Mail beim ersten Versuch nicht an Mailgun übergeben kann, warten wir 8 Minuten (2^3) und versuchen es erneut. Dann warten wir 27 Minuten für den 3. Versuch, 64 Minuten für den 4. Versuch und 125 Minuten für den 5. Versuch. Diese Strategie erzeugt eine optimale Kurve, um die Häufigkeit der Wiederholungen mit der Zuverlässigkeit in Einklang zu bringen.
Wiederholungsstrategien verringern die Fehlerwahrscheinlichkeit erheblich, schließen sie aber nicht völlig aus. Nehmen wir an, unser Kunde ändert sein Mailgun-Passwort. Zehn Minuten später aktualisiert er es in DigitalChalk (siehe Screenshot oben). Dadurch entsteht ein Zeitfenster von zehn Minuten, in dem ausgehende Benachrichtigungen keine Verbindung zu Mailgun herstellen können. Glücklicherweise wird in diesem Beispiel die kubische Wiederholungsstrategie beim 3. Versuch erfolgreich eine Verbindung herstellen. Falls der Kunde jedoch 4 Stunden wartet, um sein Passwort in DigitalChalk zu aktualisieren, ist die Wiederholungsstrategie ausgeschöpft und die Benachrichtigung wird nicht zugestellt. Die Benachrichtigung ist jedoch nicht verloren. Kunden sehen Fehler (und deren Ursachen) direkt in DigitalChalk:

An diesem Punkt klickt der Kunde einfach, um den Versand der ursprünglichen Benachrichtigung erneut zu versuchen, und der Zustellungsprozess beginnt von vorn. Wir haben potenzielle doppelte E-Mails vermieden, die Zuverlässigkeit erhöht und dafür gesorgt, dass sich Fehler bei ihrem Auftreten einfach beheben lassen.
Zusammenfassung
Wir freuen uns sehr über die Einführung dieser neuen Integration mit Mailgun. DigitalChalk-Kunden, die Mailgun nutzen, profitieren nicht nur von einer stärkeren Online-Präsenz dank E-Mail-Branding, sondern auch von zusätzlichen Mailgun-Funktionen wie Mailinglisten, Marketing-Kampagnen, Personalisierung, Analysen, Validierung von Adressen und Tracking. Wenn Sie Kunde von DigitalChalk sind, empfehlen wir Ihnen die Registrierung für Ihr Mailgun-Konto, um noch heute mit dem Aufbau Ihres eigenen E-Mail-Brandings zu beginnen.
Klicken Sie hier um mehr über unsere Integration mit Mailgun zu erfahren.