
In jedem Produkt gibt es diesen Moment, in dem etwas passiert: Eine Police entsteht, eine Schadensmeldung kommt an oder ein Schaden wird erfasst. Und genau in diesem Moment muss irgendwo ein System entscheiden, was es sagt, und wie.
Nicht generisch. Korrekt. Mit Wärme, wo Wärme gebraucht wird, mit Präzision, wo das Recht es verlangt, und in der Sprache, die dein Kunde wirklich spricht. Manchmal sind das vier Sprachen.
So baust du genau das.
Das Gewicht einer kleinen Nachricht
Eine E-Mail wirkt belanglos. Sie trifft ein, wird gelesen oder ignoriert und verschwindet dann im Archiv. Dahinter steckt aber ein erstaunlich hoher Anspruch: Sie muss auf jedem denkbaren Bildschirm korrekt gerendert werden, in einer menschlichen Stimme sprechen, Live-Daten aus dem System mitbringe, einen Namen, ein Datum oder eine Zahl, und das alles zuverlässig, genau im richtigen Moment.
So lautet die Frage, die du immer wieder stellen wirst: Wie machst du eine E-Mail persönlich, wenn eine Maschine sie generiert?
Die Antwort ist eher eine Designphilosophie als ein reiner Trick.
Nachrichten komponieren und skalieren

Starte mit deiner Rendering-Ebene
Für E-Mails bedeutet das MJML, ein Framework, das genau für dieses umständliche Terrain gebaut wurde. E-Mail-Clients sind notorisch fragmentiert: Das HTML, das in einem Client elegant aussieht, ist in einem anderen kaputt, über Desktop-Anwendungen, mobile Apps und Webmail hinweg. MJML nimmt dir das ab. Du beschreibst, was du willst: eine Überschrift, eine Spalte, einen Textblock, MJML erzeugt daraus Markup, das in jedem Postfach gut aussieht.
Füge eine Template-Engine hinzu
Als nächstes fügst du eine Template-Engine hinzu. Über MJML gelegt, bringt Nunjucks die Intelligenz. Eine JavaScript-native Engine, deren Herkunft bis zu Jinja zurückreicht, Pythons beliebte Antwort auf dasselbe Problem. In Nunjucks lebt die Intelligenz. Es liest Variablen, wertet Bedingungen aus, durchläuft Sammlungen von Inhalt und setzt die finale Form jeder Nachricht zusammen. Genau hier entscheidet diese Schicht: Dieser Kunde bekommt eine personalisierte Anrede, jener einen Fallback. Diese E-Mail hat drei Absätze, jene fünf. Das Template bleibt gleich, nur der Kontext, der hineinfliesst, ändert sich. Dieser Unterschied ist wichtiger, als er klingt, und du solltest ihn mal verinnerlichen, bevor du eine einzige Zeile schreibst.
Komponiere statt zu duplizieren
Stattdessen komponierst du deine Templates aus wiederverwendbaren Bausteinen. Jede E-Mail deklariert, welche Bausteine sie braucht: Header, Anrede, Body, Abschluss. Das System setzt sie zum Zeitpunkt der Generierung zusammen, indem es jeden Block aus einer gemeinsamen Bibliothek holt. Das ist die Regel: Wenn ein Stück Inhalt oder Struktur an mehr als einer Stelle auftaucht, lebt es genau an einer Stelle. Wenn du es änderst, aktualisierst du alles, was darauf verweist. Komposition statt Wiederholung, konsequent gedacht.
Sprache und Struktur trennen
Für mehrsprachige Unterstützung brauchst du eine parallele Schicht aus Übersetzungsdateien, eine JSON-Datei pro Sprache, die jedes Stück menschenlesbaren Text enthält, das dein System je erzeugen wird. Der Generierungsprozess liest die passende Datei, löst jeden Key auf seinen Wert hin und injiziert das Ergebnis in das zusammengesetzte Template. Das gleiche Gerüst spricht in einem Durchlauf Englisch, im nächsten Italienisch, ohne dass irgendein Teil des Layouts wissen muss, welche Sprache es rendert. Halte diese Dateien vollständig von deinen Templates getrennt. Texte gehören den Redakteuren, Struktur gehört den Ingenieuren. Sie sollten sich durch Design treffen, nicht aus Notwendigkeit.
Den Build automatisieren
Schliesslich musst du das Ganze noch mit einer Build-Pipeline orchestrieren. Gulp eignet sich dafür hervorragend. Der Task-Runner koordiniert die Abfolge: Er lädt die Templates, lädt die Übersetzungen, führt sie über die Templating-Engine zusammen, kompiliert das Ergebnis mit MJML und schreibt die Ausgabe. Du führst das Ganze einmal aus, für jede Sprache und jedes Template in einem einzigen Aufruf.
Eine E-Mail sollte nicht einfach nur als HTML-Datei existieren. Sie sollte von einem strukturierten Deskriptor begleitet werden, der die Metadaten enthält, die deine Versandplattform braucht, um die Nachricht weiterzuleiten, zu planen und zuzustellen. Jede E-Mail wird so in jeder Sprache zu zwei Artefakten: die eigentliche Nachricht und der Deskriptor, der dem System sagt, was damit zu tun ist. Die Pipeline erzeugt beides, und der Versanddienst führt die Anweisungen anschliessend einfach aus.
Das Bemerkenswerte an diesem Stack ist keineswegs eine einzelne Technologie darin. Es ist vielmehr die Disziplin, die drei Ebenen (Layout, Logik und Sprache) von Anfang an sauber voneinander getrennt zu halten. Das führt dazu, dass das System selbst dann einfach bleibt, wenn es eine überraschend grosse Bandbreite abdeckt.
Das Prinzip, das du nicht verhandelst

Am Ende ist der Gedanke, der all das funktionieren lässt, täuschend einfach: Halte Struktur und Inhalt vollständig getrennt und lass nie zu, dass die eine zu viel Kenntnis über die andere hat.
Struktur: das Gerüst einer E-Mail, wo die Überschrift steht, wo die Anrede erscheint, wie der Inhalt fliesst, sollte einmal definiert werden, in gemeinsam genutzten Bausteinen, die jede E-Mail wiederverwendet. Eine Änderung an einem Baustein sollte automatisch und konsistent überall dort landen, wo er verwendet wird.
Inhalt: jedes Wort, das ein Kunde liest, sollte getrennt in Übersetzungsdateien liegen. Ein Texter sollte den Ton einer Ablehnungs-E-Mail schärfen können, ohne verstehen zu müssen, wie das zugrundeliegende System funktioniert. Ein Rechtsprüfer sollte einen Text auf Italienisch freigeben können, ohne die Struktur anzufassen. Andernfalls werden Inhalt und Implementierung gekoppelt, und jede Änderung wird teurer als die letzte.
Logik: welche Anrede verwendet wird, welcher Body zu welcher Nachricht passt, welche Bedingungen die finale Nachricht bestimmen, wird während der Generierung aufgelöst. Bis die E-Mail den Kunden erreicht, ist jede Entscheidung schon getroffen. Was der Kunde bekommt, ist einfach ein Brief, einer, der so klingt, als wäre er explizit für ihn geschrieben.
Kartiere die Kundenbeziehung, bevor du die Templates schreibst
Bevor du irgendetwas anderes tust, kartiere den gesamten Bogen der Kundenreise. Jeden relevanten Moment, der eine Nachricht verdient, vom Anfang bis zum Ende.
Jede Reise beginnt irgendwo, mit Neugier, Unsicherheit und letztlich einer Entscheidung. Es gibt eine Mitte, die sich stabil anfühlen sollte statt transaktional. Und es gibt Enden, die mehr Sorgfalt verdienen als alles andere. Wenn in deinem Bereich echter Verlust vorkommt, verdient diese Nachricht die grösste Sorgfalt von allen. Sie sollte mit Anerkennung beginnen, jedes administrative Detail im Namen des Empfängers erledigen und mit etwas schliessen, das an Zärtlichkeit grenzt.
Ein System kann die Nachricht generieren. Es darf sich aber nie wie eines anfühlen.
Was du am Ende hast
Ein Befehl, alle Templates, alle Sprachen. Ein konsistentes Ergebnis.
Das ist es, was ein gut gestaltetes System liefert. Ändere eine Kontaktnummer, eine Rechtswendung oder eine Textzeile, baue neu auf, und die gesamte Ausgabe-Matrix aktualisiert sich automatisch. Kein Stöbern durch Dateien. Keine vergessenen Übersetzungen. Alle Sprachen bleiben synchron, damit die englische Version nie sagt, was die italienische nicht sagt. Versionsdrift verschwindet, und manuelle Synchronisierung ist nicht mehr nötig.
Was du eigentlich baust

Das hier ist das, was dir niemand am Anfang sagt: Du baust nicht nur E-Mail-Templates.
Du baust ein Kommunikationssystem, das auch unter Druck standhalten muss, wenn ein Kunde wütend ist, wenn eine Zahlung fehlgeschlagen ist, wenn jemand trauert. Es muss in dem Moment stimmen, in der richtigen Sprache, mit dem richtigen Ton. Es muss sich anfühlen, als käme es von einer Person, die aufgepasst hat.
Die Architektur ist deine Garantie dafür. Struktur, Logik, Sprache, getrennt, wobei jede nur ihren Job macht. Ein Build-Prozess, der skrupellos wiederholbar ist. Ein Kompositionsmodell, bei dem jede Änderung sauber propagiert. Übersetzungsdateien, die den richtigen Menschen die richtigen Wörter geben, ohne dass sie je das Getriebe anfassen.
Wenn du all das machst, hast du am Ende etwas still Bemerkenswertes: ein System, das skaliert, ohne zu verhärten, das gewartet werden kann, ohne kaputtzugehen, und das, in den Momenten, die am meisten zählen, schafft, wie ein Mensch zu klingen.





