E-Mail-spezifische Komponenten
Abschnitte, Spalten, Buttons und Trenner existieren bereits als Komponenten. Ein Block, den Sie auf die Leinwand ziehen, entspricht damit Markup, das für E-Mail geschrieben wurde — nicht für den Browser.
PageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern
Gestalten Sie responsive E-Mails visuell mit MJML, exportieren Sie produktionsreifes HTML und behalten Sie Vorlagen, Daten und Integrationen in Ihrer eigenen Infrastruktur.
26k+
GitHub-Sterne
100+
Plugins auf GJS.Market
10 Jahre
Aktive Entwicklung
$0
Lizenzgebühr, dauerhaft
Blöcke verschieben ist der Teil, den sich alle vorstellen. Was tatsächlich eine Roadmap auffrisst, liegt hinter der Leinwand — und die Liste ist dieselbe, ob Sie E-Mail in ein CRM, eine E-Commerce-Plattform oder ein Marketing-SaaS einbauen.
Was hinter der Leinwand steckt
Den Editor selbst bauen
Monate
Mit GrapesJS starten
Tage
Ihr E-Mail-Builder sollte sich um Ihr Produkt drehen — nicht umgekehrt.
E-Mail-HTML verhält sich anders als Web-HTML. MJML ist eine Auszeichnungssprache für E-Mail: Sie schreiben semantische Komponenten, und der Compiler erzeugt das tabellenbasierte HTML mit Inline-CSS, das E-Mail-Clients erwarten. Genau das macht aus einem visuellen Editor einen E-Mail-Editor.
Abschnitte, Spalten, Buttons und Trenner existieren bereits als Komponenten. Ein Block, den Sie auf die Leinwand ziehen, entspricht damit Markup, das für E-Mail geschrieben wurde — nicht für den Browser.
Das Umbrechen von Spalten und die Media Queries erzeugt der Compiler, statt dass sie pro Vorlage von Hand gepflegt werden.
Der Kompilierschritt setzt das CSS inline — genau das brauchen die meisten E-Mail-Clients. Sie hängen keinen separaten Inliner in die Pipeline.
MJML-Quelltext ist lesbar und diff-bar, sodass sich eine Vorlagenänderung wie Code prüfen lässt und nicht wie eine Wand verschachtelter Tabellen.
Die Ausgabe ist gewöhnliches HTML. Alles, was HTML-E-Mails versenden kann, kann sie versenden — beim Versand besteht keine Abhängigkeit von MJML.
mjml steht unter MIT; das Plugin grapesjs-mjml, das es in GrapesJS bringt, unter BSD-3-Clause. Keines verursacht Lizenzkosten.
Beide Wege enden in HTML. Der Unterschied liegt darin, wie viel der E-Mail-spezifischen Arbeit Sie von Hand pflegen und wie viel bei jedem Speichern für Sie erzeugt wird.
| Aspekt | MJML | Handgeschriebenes HTML |
|---|---|---|
| Responsives Layout | Aus Komponenten erzeugt | Pro Vorlage von Hand gepflegt |
| E-Mail-spezifische Komponenten | Von der Sprache mitgeliefert | Bauen und pflegen Sie selbst |
| CSS-Inlining | Teil des Kompilierschritts | Ein separates Werkzeug in Ihrer Pipeline |
| Client-Eigenheiten | Zentral im Compiler behandelt | In jeder Vorlage einzeln behandelt |
| Autorenerlebnis | Semantisches Markup, lesbare Diffs | Verschachtelte Tabellen, schwerer zu prüfen |
| Visuelles Bearbeiten | Komponenten lassen sich sauber auf Blöcke abbilden | Mehr Zuordnungsarbeit pro Block |
| Ausgabe | HTML | HTML |
MJML ist darauf ausgelegt, die Entwicklung responsiver E-Mails für die gängigen E-Mail-Clients zu vereinfachen. Es nimmt Ihnen eine Kategorie von Arbeit ab, aber nicht die Notwendigkeit, zu testen, was Sie versenden.
Aus dem Editor kommen drei Artefakte, und jedes hat genau eine Aufgabe. Zu wissen, welches welche ist, ist der größte Teil der Architekturentscheidung.
Stufe 01
Die Nutzerin ordnet Blöcke auf der Leinwand an. Der Projektzustand des Editors selbst ist JSON — das speichern Sie, damit die E-Mail später wieder geöffnet und bearbeitet werden kann.
editor.getProjectData()Stufe 02
Die Autorendarstellung. Lesbar, diff-bar und genau das Richtige zum Versionieren, wenn Sie sehen wollen, was sich zwischen zwei Ständen einer Vorlage tatsächlich geändert hat.
editor.runCommand('mjml-code')Stufe 03
Die kompilierte, tabellenbasierte Ausgabe mit Inline-CSS. Dieses Artefakt übertragen Sie, und nur dieses muss Ihre Versandinfrastruktur verstehen.
editor.runCommand('mjml-code-to-html')Stufe 04
Die Zustellung bleibt bei Ihnen. Jeder Anbieter und jeder eigene Dienst, der HTML akzeptiert, kann es versenden — mit Ihren Zugangsdaten und Ihrer Versanddomain.
POST /your-api/campaigns/:id/sendDer Editor ist eine Schicht. Alles kommerziell Sensible am Thema E-Mail — der Verteiler, die Versanddomain, die damit aufgebaute Reputation — bleibt dort, wo es ohnehin schon ist.
Ihr Produkt
GrapesJS E-Mail-Editor
Ihre Infrastruktur
Wie Sie den Editor in eine bestehende Anwendung einbetten, inklusive Authentifizierung und iframe-Strategie: Zur Anleitung für den einbettbaren Page Builder
Die Newsletter-Editor-Demo des GrapesJS-Projekts. Sie wird erst geladen, wenn Sie es verlangen — bis dahin kostet sie die Seite nichts.
Die Open-Source-Newsletter-Editor-Demo von grapesjs.com — Blöcke ziehen, Inhalte bearbeiten und das HTML exportieren.
Die Demo wird vom GrapesJS-Projekt gehostet. Sie zeigt das Kern-Editiererlebnis, nicht die weiter unten auf dieser Seite gelisteten Plugins.
Vorlage wählen
Die Nutzerin startet mit einer gespeicherten Vorlage statt mit einer leeren Leinwand. Vorlagen sind Zeilen in Ihrer Datenbank — Sie entscheiden also, wer welche sieht.
Visuell bearbeiten
Blöcke werden gezogen, Text direkt bearbeitet, Stile im Style-Manager angepasst. Der Editor enthält MJML-Komponenten, sodass jede Änderung innerhalb E-Mail-sicheren Markups bleibt.
Entwurf speichern
Persistieren Sie das Projekt-JSON über den Storage Manager in Ihrer eigenen API. Autosave, Entwürfe und Versionshistorie sind Verhalten Ihrer Anwendung, nicht des Editors.
Vorschau und Test
Rendern Sie das kompilierte HTML zur Abnahme und verschicken Sie Testnachrichten über Ihren Anbieter. Renderingtests Client für Client sind eine Fähigkeit, die Sie ergänzen — sie ist nicht eingebaut.
HTML exportieren
Kompilieren Sie das MJML zu HTML mit Inline-Stilen. Speichern Sie es neben JSON und MJML, dann wissen Sie stets genau, was versendet wurde.
Versenden und auswerten
Übergeben Sie das HTML an Ihren ESP oder Ihren eigenen Versanddienst. Öffnungen, Klicks und Bounces kommen über diesen Anbieter zurück in Ihr Reporting.
Die Schritte 1, 3, 4 und 6 sind Ihre Anwendung. GrapesJS und MJML übernehmen Schritt 2 und Schritt 5 — also genau den Teil, der sonst Monate dauern würde.
Dieselbe Grundlage, auf unterschiedliche Produkte gerichtet. Jedes davon ist der Editor plus Ihre eigene Speicherung, Rechteverwaltung und Zustellung.
Geben Sie Kundinnen einen visuellen Kampagnen-Builder in Ihrem Produkt, statt sie HTML von anderswo einfügen zu lassen.
Zum Drag-and-drop-AnsatzLassen Sie Vertrieb und Customer Success ihre E-Mails selbst erstellen und anpassen, ohne ein Ticket an die Entwicklung zu stellen.
Zur VorlagenverwaltungSchreiben Sie die E-Mails Ihrer Lifecycle- und Drip-Strecken im selben Editor, den Ihre Nutzer bereits kennen.
Zur React-UmsetzungAktionsmails, Bestellbestätigungen und Warenkorbabbruch-Mails, alle aus einer Blockbibliothek und Ihren eigenen Markenregeln.
Zur SaaS-ArchitekturOnboarding-, Aktivierungs- und Retention-Mails, die Ihr Produktteam ohne Deployment ändern kann.
E-Mail-Plugins ansehenWiederverwendbare, gebrandete E-Mail-Systeme pro Kunde — auf Infrastruktur, die Sie kontrollieren, statt auf einer Plattform mit Preis pro Platz.
Zu den White-Label-OptionenGrapesJS ist ein Editor-Framework und kein gehostetes Produkt. Genau dieser Unterschied ist der Grund, warum es Ihr E-Mail-Builder werden kann, statt nur danebenzustehen.
Der Kern erscheint unter BSD-3-Clause und ist für kommerzielle Nutzung kostenlos. Sie können ihn lesen, forken und in einem kostenpflichtigen Produkt ausliefern.
Der Editor läuft in Ihrer eigenen Anwendung. Kein Dritter steht zwischen Ihren Nutzern und ihren Vorlagen.
Blöcke, Komponenten, Kommandos und Panels sind Erweiterungspunkte. Ein eigener E-Mail-Block ist ein Plugin, kein Fork.
grapesjs-mjml, gepflegt in der GrapesJS-Organisation, bringt MJML-Komponenten als vollwertige Blöcke in den Editor.
Panels, Icons und Theme können Sie ändern, damit der Editor wie ein Teil Ihres Produkts wirkt und nicht wie ein eingebettetes Fremdwerkzeug.
100+ Plugins auf GJS.Market decken Speicher, Medien, Blöcke und Export ab. Damit wird ein Großteil der Randarbeit zum Einkauf statt zum Sprint.
Unlayer und Stripo sind gehostete Produkte mit kommerziellem Support, und für viele Teams ist das der richtige Kompromiss. Diese Tabelle geht darum, was Sie kontrollieren und was Sie zahlen — nicht darum, welcher Editor besser ist.
| Aspekt | GrapesJS | Unlayer | Stripo Plugin |
|---|---|---|---|
| Quellcode einsehbar und Open Source | Ja — BSD-3-Clause | Not publicly documented | Not publicly documented |
| Kostenlose Stufe | Der gesamte Editor, $0 | Kostenloser Plan, $0 | Kostenloser Plan, $0 |
| Kostenpflichtige Pläne | Keine — Plugins sind Einmalkäufe | $250/mo / $750/mo / $2,000/mo | $100/mo / $550/mo |
| Editor selbst hosten | Immer — er läuft in Ihrer App | On-Premise ab Enterprise | Serverkomponenten ab Enterprise |
| MJML als Autorenebene | Ja — grapesjs-mjml | Not publicly documented | Not publicly documented |
| Vorlagen in der eigenen Datenbank | Ja — die Speicherschicht schreiben Sie | Abhängig von Plan und Deployment | Abhängig von Plan und Deployment |
Plannamen und Preise der Anbieter wurden am 2026-08-27 von deren eigenen öffentlichen Preisseiten übernommen und können sich jederzeit ändern — prüfen Sie die Quelle, bevor Sie damit kalkulieren. Quellen: Unlayer-Preise · Stripo Plugin. „Not publicly documented“ bedeutet, dass der Anbieter dazu öffentlich nichts angibt. Es ist keine Aussage darüber, dass die Fähigkeit fehlt.
Jeder Eintrag unten ist ein echtes Produkt mit Live-Preis. Zusammen decken sie die Schichten rund um die Leinwand ab: Presets, Blöcke, Speicher, Medien und Export.
Der Ausgangspunkt: ein Editor, der bereits für E-Mail konfiguriert ist.
Diese Kategorie ansehenBringt MJML-Komponenten in den Editor, damit die Leinwand E-Mail-Markup statt Web-Markup erzeugt.
Eine auf Newsletter ausgerichtete Editor-Konfiguration als Ausgangspunkt, wenn Sie den MJML-Kompilierschritt nicht brauchen.
Fertige Abschnitte und eine Vorlagenebene, um sie zu ordnen.
Diese Kategorie ansehenEin Premium-Set responsiver E-Mail-Blöcke, damit Ihre erste Vorlage eine Anordnung wird statt ein Neubau.
Ergänzt den Editor um eine Vorlagenebene — Layouts speichern, auflisten und wieder öffnen, von denen Ihre Nutzer starten.
Zusätzliche Bearbeitungsflächen für alle, die ans Markup wollen.
Diese Kategorie ansehenProjekt-JSON und Vorlagen-Metadaten dort ablegen, wo Sie es wollen.
Diese Kategorie ansehenBilder in E-Mails müssen irgendwo liegen, das Sie kontrollieren.
Diese Kategorie ansehenLeitet die Bildauswahl über Cloudinary, sodass E-Mail-Bilder unter Ihrem Konto gehostet und transformiert werden.
Ergänzt den Asset-Manager um einen Upload-Ablauf für Teams, die eigene Bilder in E-Mails einsetzen.
Vier Zusammenstellungen aus den Produkten oben. Jede ist ein Ausgangspunkt — ersetzen Sie jede Schicht durch Ihre eigene Umsetzung, sobald Sie eine haben.
Für Kampagnen und Newsletter-Versand
Für kundenseitiges Bearbeiten in Ihrem Produkt
Für Belege, Benachrichtigungen und Systemmails
Für wiederverwendbare gebrandete Systeme pro Kunde
Preise kommen live aus dem Katalog und können sich ändern.
Sechs Formate decken das meiste ab, was zuerst gebaut wird. Lesen Sie sie als Briefings für Ihre eigene Blockbibliothek, nicht als Katalog.
Die erste Nachricht nach der Anmeldung. Eine klare nächste Handlung, wenig Beiwerk und Inhalte, die auch eine Woche später noch stimmen, wenn sie verspätet ankommt.
Wiederkehrende Struktur — Kopf, eine Reihe von Beiträgen, Fuß. Die Vorlage, die am meisten von wiederverwendbaren Blöcken profitiert, weil sie jede Ausgabe neu entsteht.
Feature-Ankündigungen und Release Notes. Meist ein Aufmacher, zwei bis drei Beitragsblöcke und ein Link zurück ins Produkt.
Angebotsgetriebenes Layout mit starkem Aufmacher, Produktzeilen und einem auffälligen Call to Action. Die Vorlage, die Ihr Marketingteam am häufigsten ändern will.
Belege, Bestätigungen und Benachrichtigungen. Datenlastig, überwiegend generiert — und dort zählen Merge-Tags und gesperrte Bereiche am meisten.
Rückgewinnungsnachrichten für inaktive Nutzer, meist mit deutlicher platzierten Präferenz- und Abmeldelinks als sonst.
Das sind Beschreibungen gängiger E-Mail-Typen, keine käuflichen Produkte. Starten Sie mit einem der Presets oben und bauen Sie sie als eigene Blöcke.
Nur das HTML zu speichern ist der Fehler, den es zu vermeiden lohnt: Es ist ausgerechnet die eine Darstellung, die Sie nicht zuverlässig wieder bearbeiten können.
JSON
Der Projektzustand des Editors selbst. Speichern Sie ihn, damit Nutzer eine E-Mail genau so wieder öffnen können, wie sie sie verlassen haben. Dieses Artefakt schreibt Ihr Storage Manager.
MJML
Lesbares Markup, das sich wie Code prüfen und vergleichen lässt. Versionieren Sie es, wenn Sie eine Historie der Änderungen an einer Vorlage wollen und nicht eine Historie von Blobs.
HTML
Kompiliert, tabellenbasiert und mit Inline-Stilen. Übergeben Sie es an Ihre Versandinfrastruktur und archivieren Sie die exakte versendete Fassung.
editor.getProjectData(); // JSON - you store this
editor.runCommand('mjml-code'); // MJML - you version this
editor.runCommand('mjml-code-to-html'); // HTML - you send thisSpeichern Sie alle drei. JSON hält die E-Mail bearbeitbar, MJML hält sie prüfbar, HTML hält sie versendbar.
Editor
Beginnen Sie mit GrapesJS und dem MJML-Plugin. An diesem Punkt haben Sie eine funktionierende E-Mail-Leinwand und können bereits HTML erzeugen.
Vorlagen und Blöcke
Überführen Sie Ihre bestehenden E-Mails in wiederverwendbare Blöcke und legen Sie fest, welche Bereiche Nutzer bearbeiten dürfen und welche gesperrt bleiben.
Speicherung
Richten Sie den Storage Manager auf Ihre API. Speichern Sie Projekt-JSON plus Vorlagen-Metadaten — Eigentümer, Name, Änderungsdatum, was Ihr Produkt eben braucht.
Vorschau und Prüfung
Rendern Sie das kompilierte HTML zur Abnahme und prüfen Sie Links, Bilder und Pflichtinhalte, bevor irgendetwas in die Zustellung geht.
Export und Zustellung
Kompilieren Sie zu HTML, übergeben Sie es an Ihren ESP oder Ihren eigenen Versanddienst und führen Sie die entstehenden Kennzahlen in Ihr Reporting zurück.
Die Schritte 1 und 5 lösen die Pakete auf dieser Seite weitgehend. In den Schritten 2 bis 4 stecken die tatsächlichen Anforderungen Ihres Produkts.
Framework-neutraler Kern plus das offizielle MJML-Plugin. Wenn Sie mit React oder Next.js arbeiten, ist die jeweils spezifische Einrichtung unten verlinkt.
npm install grapesjs grapesjs-mjmlimport grapesjs from 'grapesjs';
import grapesjsMjml from 'grapesjs-mjml';
import 'grapesjs/dist/css/grapes.min.css';
// The editor core plus the official MJML plugin. Both BSD-3-Clause.
const editor = grapesjs.init({
container: '#email-editor',
fromElement: true,
plugins: [grapesjsMjml],
pluginsOpts: {
[grapesjsMjml]: {
// Serve the drag-in placeholder from your own CDN, not a third party.
imagePlaceholderSrc: 'https://cdn.your-app.com/email/placeholder.png',
},
},
});Sobald der Editor eingebunden ist, liefern drei Kommandos die drei Artefakte:
// 1 - the MJML source the editor is currently holding.
const mjml = editor.runCommand('mjml-code');
// 2 - the compiled, table-based, CSS-inlined HTML you actually send.
const { html } = editor.runCommand('mjml-code-to-html');
// 3 - store all three; hand only the HTML to your sending provider.
await fetch(`/api/campaigns/${campaignId}/template`, {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
project: editor.getProjectData(), // re-openable in the editor
mjml, // diffable source of truth
html, // what your provider receives
}),
});Wenn Sie keinen Kompilierschritt wollen, ist das Newsletter-Preset der ältere, einfachere Weg — Tabellenblöcke mit einem CSS-Inliner und ohne MJML:
import newsletter from 'grapesjs-preset-newsletter';
// The pre-MJML path: table blocks and a CSS inliner, no compile step.
const editor = grapesjs.init({
container: '#email-editor',
plugins: [newsletter],
pluginsOpts: {
'grapesjs-preset-newsletter': { inlineCss: true },
},
});
const html = editor.runCommand('gjs-get-inlined-html');Versionen geprüft am 2026-08-27: grapesjs 0.23.6, grapesjs-mjml 1.0.8, grapesjs-preset-newsletter 1.0.2.
Die Frage ist selten, ob Sie einen Editor bauen könnten. Sie lautet, welche Teile davon die Zeit Ihres Teams wert sind.
| Schicht | Von Grund auf | GrapesJS + GJS.Market |
|---|---|---|
| Editor-Leinwand | Bauen und pflegen Sie | Open-Source-Kern, BSD-3-Clause |
| Drag and Drop | Bauen und pflegen Sie | Eingebaut |
| E-Mail-Markup | Die Client-Eigenheiten lösen Sie | MJML über grapesjs-mjml |
| Blöcke und Komponenten | Jeder Block ist Entwicklungsarbeit | Plugins, plus eigene über dieselbe API |
| Speicher und Medien | Bauen und pflegen Sie | Plugins oder Ihr eigener Endpunkt |
| Backend, Datenbank und ESP | Ihres | Ihres — unverändert |
| Laufende Wartung | Der gesamte Editor | Ihre Erweiterungen |
Bauen Sie Ihr E-Mail-Produkt — nicht noch einen E-Mail-Editor von Grund auf.
E-Mail-Bearbeitung ist nicht nur eine Entwicklungsentscheidung. Wo sie stattfindet, verändert, wie Ihr Produkt genutzt wird.
Routineänderungen an Text, Bild und Layout kommen nicht mehr als Ticket, weil die Leute, die sie wollen, sie selbst vornehmen können.
Das Erstellen von E-Mails bleibt in Ihrer Anwendung, statt Nutzer in ein separates Werkzeug und wieder zurück zu schicken.
Erweiterte Bearbeitung, Vorlagenbibliotheken oder Markenkontrollen können in höhere Pläne wandern, weil Sie das Feature besitzen und nicht das eines Dritten weiterverkaufen.
Vorlagen, Markenregeln und Historie sammeln sich in Ihrer Plattform an, was sie zum natürlichen Ort für die weitere Arbeit macht.
Keine Plattformgebühr pro Platz oder pro Versand, die sich zwischen Ihr Wachstum und Ihre Marge schiebt.
Empfänger, Vorlagen und Kampagneninhalte liegen in Ihrer Datenbank, was sowohl Compliance-Auskünfte als auch Migrationen vereinfacht.
Das sind die Ergebnisse, auf die Teams hinarbeiten. Wir veröffentlichen keine Conversion- oder Zeitersparniszahlen, die wir nicht gemessen haben.
Diese Seite richtet sich an die Menschen, die entscheiden müssen, ob E-Mail-Bearbeitung gekauft, gemietet oder gebaut wird.
Liefern Sie E-Mail-Bearbeitung aus, ohne zuerst die darunterliegende Editor-Infrastruktur zu finanzieren.
Halten Sie Datenmodell, Hosting und Zustellweg innerhalb von Entscheidungen, die Ihnen ohnehin gehören.
Machen Sie E-Mail zu einem nativen Feature mit Ihrer eigenen UX statt zu einer eingebetteten Fremdoberfläche.
Erweitern Sie eine dokumentierte Editor-API um eigene Blöcke, Komponenten und Kommandos.
Betreiben Sie Aktions- und Transaktionsmails über eine Blockbibliothek und einen Satz Markenregeln.
Bauen Sie wiederverwendbare gebrandete E-Mail-Systeme pro Kunde, ohne Plattformkosten pro Platz.
Eigene Blöcke, Integrationen, Speicherung, White-Label-Oberfläche oder eine komplette E-Mail-Builder-Umsetzung — wir bauen sie um Ihr Produkt herum statt daneben.
Auf dieser Seite geht es um GrapesJS und MJML als Grundlage. Die folgenden decken die angrenzenden Fragen ab.
Dieselbe Grundlage, sauber in eine React-Anwendung eingebunden, inklusive korrekt behandeltem Komponenten-Lebenszyklus.
E-Mail-Editor in React bauenDas Bearbeitungserlebnis selbst: was Ihre nicht-technischen Nutzer sehen und wie es sich verhält.
Visuelles E-Mail-Bearbeiten ansehenVorlagen team- und kampagnenübergreifend erstellen, speichern und wiederverwenden.
E-Mail-Vorlagen verwaltenDer allgemeine Fall: einen visuellen Editor beliebiger Art in ein SaaS-Produkt einbetten.
Visuellen Editor einbettenStarten Sie mit GrapesJS und MJML und ergänzen Sie dann die Plugins und Integrationen, die Ihr Produkt braucht.
Presets, Blöcke, Speicher, Medien und Export — echte Angebote mit Live-Preisen.
E-Mail-Plugins ansehenInstallieren Sie den Open-Source-Kern und das MJML-Plugin und haben Sie noch heute eine E-Mail-Leinwand laufen.
Tutorial lesenEigene Blöcke, Integrationen oder ein kompletter E-Mail-Builder, gebaut um Ihr Produkt herum.
Über Ihr Projekt sprechenWeiterlesen