PageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern

E-Mail-Builder für Entwickler

Baue einen Drag-and-Drop-E-Mail-Builder mit GrapesJS

Erstellen Sie einen visuellen E-Mail-Editor für Ihre SaaS, CMS, Marketingplattform oder interne Tools. Lassen Sie Nutzer responsive E-Mails mit Drag-and-Drop-Blöcken erstellen, während Ihr Team Komponenten, Vorlagen, Speicher, Ausgabe und Veröffentlichung kontrolliert.

Drag-and-Drop-CanvasHTML, MJML oder Projekt JSONDeine Datenbank, dein ESPOpen-Source-Kern, BSD-3-Clause

Ihre Nutzer erstellen E-Mails visuell. Ihre Anwendung steuert das Erlebnis.

Live-Editor

Probieren Sie den E-Mail-Builder aus

Dies ist ein echter GrapesJS-Editor, der auf dieser Seite läuft – kein Video und kein Screenshot. Ziehen Sie einen Block von rechts hinein, wählen Sie ein beliebiges Element aus, um es neu zu gestalten, wechseln Sie auf Handybreite und lesen Sie dann das erzeugte Markup aus. Header und Footer sind gesperrt – dasselbe Muster, das der Abschnitt weiter unten erklärt.

Was du hier tun kannst

  1. Blöcke
  2. Canvas
  3. Styling
  4. Responsive
  5. Vorschau
  6. HTML / JSON
Definition

Was ist ein Drag-and-Drop-E-Mail-Builder?

Ein Drag-and-Drop-E-Mail-Builder ist ein visueller Editor, der es Nutzern ermöglicht, E-Mail-Layouts aus wiederverwendbaren Komponenten zu erstellen, anstatt manuell HTML-Tabellen und E-Mail-spezifische CSS zu schreiben.

Der Unterschied ist, wer die Regeln kennen muss. Ohne Builder muss derjenige, der die E-Mail schreibt, wissen, dass das Layout mit verschachtelten Tabellen gebaut wird, dass die meisten Stile inline stehen müssen und dass ein verirrter Rand das Design in einem einzigen Client zusammenfallen lässt. Mit einem Builder werden diese Regeln einmal – von Ihnen – in Blöcke und Komponenten kodiert, und alle anderen ordnen sie nur noch an.

Ohne einen visuellen Builder

Jemand schreibt das Tabellen-Markup von Hand und überprüft es dann von Hand. Jede neue E-Mail beginnt mit einer Kopie der vorherigen.

welcome.htmlhtml
<table role="presentation" cellpadding="0" cellspacing="0" width="600">
  <tr>
    <td style="padding:32px;font-family:Arial,sans-serif">
      <h1 style="margin:0 0 12px;font-size:26px">Welcome</h1>
      <p style="margin:0;font-size:15px;line-height:1.6">Yunser Inhalt... </p>
    </td>
  </tr>
</table>

Mit einem Drag-and-Drop-Builder

Jemand ordnet Blöcke. Das Tabellen-Markup wird aus Komponenten generiert, die du einmal definiert und überprüft hast.

  1. Header
  2. Hero
  3. Text
  4. Bild
  5. CTA
  6. Footer

Der Builder ist nicht dafür da, E-Mails einfach zu machen. Er ist dafür da, die schwierigen Teile zur Entscheidung von jemand anderem zu machen – zu Ihrer, einmal getroffen, auf Komponentenebene.

Der schwierige Teil

Warum E-Mail-Builder schwieriger sind als Website-Builder

Eine Webseite läuft in einem Browser, mit dem man grob argumentieren kann. Eine E-Mail läuft in dem jeweiligen Client, in dem der Empfänger sie geöffnet hat, und dieser Kunde kann dein Markup umschreiben, deine Stile entfernen oder sie mit einer ganz anderen Engine anlegen. Ein E-Mail-Entwickler muss daher einschränken, was Nutzer produzieren können, nicht nur die Produktion angenehm gestalten.

Wo deine E-Mail überleben muss

  • Gmail

    Web-, Android- und iOS-Apps verhalten sich unterschiedlich, und der Webclient verarbeitet deine Stile, bevor er rendert.

  • Outlook

    Desktop, Web und der neuere Windows-Client sind im Grunde unterschiedliche Renderer. Desktop-Builds unter Windows waren historisch gesehen das strengste Ziel.

  • Apple Mail

    Der toleranteste der üblichen Kunden, was ihn zu einem schlechten Proxy macht: Eine E-Mail, die hier direkt aussieht, kann auch anderswo kaputtgehen.

  • Yahoo Mail

    Ein weiterer Webmail-Client mit eigenen Sanierungsregeln für Styles und Markup.

  • Mobile Clients

    Schmale Ansichten, aggressive Textskalierung und Dunkelmodus-Behandlung, die je nach App und Betriebssystemversion variiert.

  • Alles andere

    Unternehmens-Gateways, regionale Anbieter und ältere Kunden, die in einer typischen Testmatrix nie auftauchen.

Was das dem Builder abverlangt

  • Das Layout besteht aus Tabellen, nicht aus Flexbox oder Grid

    Deine Spalten, Abstandshalter und Teiler müssen Tabellenkomponenten sein. Benutzer sollten niemals eine nackte Div in das Canvas einfügen können.

  • Die CSS-Unterstützung ist teilweise und ungleichmäßig

    Beschränke den Style Manager auf Eigenschaften, die du tatsächlich getestet hast, anstatt das gesamte Browser-Set offenzulegen.

  • Die Stile sind am sichersten in der Reihe

    Entweder schreibst du mit einem Preset, das beim Export inlinet, oder du betreibst einen Inliner in deiner eigenen Pipeline, bevor die E-Mail dein Backend verlässt.

  • Medienanfragen werden nicht universell anerkannt

    Entwickle das Ein-Spalten-Rückfallback-System so, dass es bereits akzeptabel ist, und behandle responsive Regeln eher als Verbesserung denn als Voraussetzung.

  • Bilder werden oft standardmäßig blockiert

    Verlangen Sie Alternativtext bei jeder Bildkomponente und lassen Sie niemals einen Block von einem Bild abhängen, um lesbar zu sein.

  • Der Dunkelmodus kann Ihre E-Mail umfärben

    Manche Kunden drehen die Farben automatisch um oder verändern sie. Vermeiden Sie Designs, die darauf angewiesen sind, dass ein bestimmter Hintergrund genau diese Farbe bleibt.

  • Webschriften werden häufig nicht geladen

    Gib für jede Textkomponente einen echten Fallback-Stack aus und überprüfe die E-Mail mit dem Fallback statt mit dem vorgesehenen Gesicht.

  • Skripte laufen nicht, und die Interaktivität ist begrenzt

    Alles Dynamische gehört hinter einen Link. Ein Builder, der den Nutzern interaktive Blöcke anbietet, bietet ihnen etwas an, das nicht funktionieren wird.

  • Gewerbliche Post hat rechtliche Anforderungen

    Absenderidentität und ein Abmeldemechanismus sind Verpflichtungen, keine Designentscheidungen. Sperren Sie sie in die Vorlage ein, anstatt einer Checkliste zu vertrauen.

Du baust keinen Editor, der wunderschöne HTML erzeugt. Du baust einen Editor, der kein gefährliches HTML erzeugen kann.

Das Client-Verhalten ändert sich mit Releases und Rendering-Modi, daher steht auf dieser Seite keine Pro-Client-Supportmatrix. Validiere es mit den Clients und Features, die dein eigenes Publikum tatsächlich nutzt. Zuletzt bewertet 2026-09-03.

Die Bearbeitungsebene

Warum GrapesJS für einen E-Mail-Builder verwenden?

GrapesJS ist ein Open-Source-(BSD-3-Clause) Web-Builder-Framework, derzeit 0.23.6, mit ungefähr 26k+-Sternen auf GitHub. Es gibt dir die Teile eines Editors, die teuer zu bauen und langweilig zu differenzieren sind, und nimmt die Teile ab, die tatsächlich dein Produkt sind.

Canvas und Drag-and-Drop

Eine iframe-Canvas mit Auswahl, Drag-Zielen, Drop-Indikatoren, Größenänderung und einer Komponenten-Toolbar – die Interaktionsebene, die Monate braucht, um richtig zu machen, und für die niemand Ihr Produkt kauft.

Komponenten und Blöcke

Definiere eine E-Mail-sichere Komponente einmal und stelle sie dann als Block frei, den Nutzer einziehen. Komponenten tragen eigene Regeln: was sie akzeptieren, was bearbeitet werden kann, was gestylt werden kann.

Stil- und Eigenschaftsmanager

Ein Styling-Panel, das du auf die Eigenschaften-E-Mail beschränken kannst, die die E-Mail tatsächlich unterstützt, und ein traits-Panel für Einstellungen, die nicht CSS sind – ein Link-Ziel, ein Alternativtext, ein Merge-Feld.

Ebenen und Assets

Ein Strukturbaum für verschachtelte Tabellen, die schwer durch Klicken auszuwählen sind, und einen Asset-Manager, den du auf deine eigene Medienbibliothek zeigen kannst.

Storage Manager und Projektzustand

Der gesamte Editor serialisiert zum Projekt-JSON. Richte das Storage Manager auf dein API, und der Editor kümmert sich nicht mehr darum, wo sich die Daten befinden.

Commands und Plugins

Jede Editor-Aktion ist ein benannter Befehl, den du aufrufen, überschreiben oder hinzufügen kannst – so erweitern Presets, Exporter und die 100+-Plugins auf GJS.Market sie ohne Fork.

GrapesJS stellt die Bearbeitungsebene bereit. Ihre Anwendung stellt das E-Mail-Produkt bereit.

Architektur

Wie ein Drag-and-Drop-E-Mail-Builder funktioniert

Ein Anfragepfad, von der Person, die einen Block zieht, bis zur Person, die die Mail öffnet. Jede Ebene darunter hat einen Besitzer, und die meisten Integrationsprobleme entstehen dadurch, dass eine Verantwortung im falschen liegt.
  1. Your SaaS / application

    Ihr Produkt: Konten, Mandanten, Abrechnung, die Route, auf der der Editor eingebunden ist.

  2. Email builder UI

    Deine Hülle rund um den Editor: Template-Picker, Speicherstatus, Senden-Button, Genehmigungen.

  3. GrapesJS

    Die visuelle Bearbeitungs-Engine. Sie weiß über Komponenten und Leinwände Bescheid, aber nichts über deine Nutzer.

  4. Editor modules

    Die Editor-Subsysteme, die du konfigurierst: welche Blöcke existieren, was sie akzeptieren, was kann gestaltet werden, was bearbeitet werden kann.

    • Blocks
    • Components
    • Styles
    • Traits
  5. Project JSON

    Der serialisierte Editor-Status. Das ist das, was du speicherst, damit eine E-Mail später wieder geöffnet werden kann.

  6. Your backend / API

    Dein API: Berechtigungen, Versionierung, Merge-Tag-Auflösung, Validierung, Kampagnendatensätze.

  7. HTML / MJML

    Der Aufschlag, den du tatsächlich schickst. Wird auf Abruf aus dem gespeicherten Projekt generiert.

  8. Your email provider

    Der Anbieter, der die Post zustellt und berichtet, was damit passiert ist.

  9. Recipient

    Der Posteingang und der Client, der es gerade rendert.

GrapesJS kommuniziert nie mit deiner Datenbank und auch nie mit deinem E-Mail-Anbieter. Es gibt dir ein Dokument; alles danach ist deine Architektur.

Verantwortlichkeiten

Wem gehört was

Drei Eigentümer, keine Überschneidung. Der häufigste architektonische Fehler im Thema dieser Seite ist, dass der Editor etwas in den rechten Spalten tut.

Ihre Anwendung
  • Benutzer und Konten
  • Rollen und Berechtigungen
  • Template-Datensätze
  • Speicherung und Versionierung
  • Merge-Tag-Auflösung
  • Kampagnen und Terminplanung
  • Ausgabevalidierung
GrapesJS
  • Visuelles Canvas
  • Drag & Drop
  • Komponentenmodell
  • Blockbibliothek
  • Stilbearbeitung
  • Ebenenbaum
  • Rückgängig machen / neu machen
  • Projektserialisierung
Ihr E-Mail-Anbieter
  • Lieferung
  • Bounces und Beschwerden
  • Eröffnungen, Klicks und Events

Nichts in den rechten Spalten ist eine Lücke in GrapesJS – diese Zeilen waren nie die Aufgabe des Editors. Sie ab dem ersten Sprint als Anwendungsarbeit zu behandeln, hält die Integration einfach.

Ausgabe

HTML, MJML und JSON: Was ist der Unterschied?

Drei Artefakte stammen aus demselben Canvas, und sie sind nicht austauschbar. Eines ist das Projekt, das man behält, zweitens die Lieferformate, die man daraus generiert.

Projekt JSON

GrapesJS-Kern

Die editierbare Darstellung der E-Mail – Komponenten, Stile, Assets und Seiten, genau so, wie der Editor sie hält.

Am besten für

  • Sparen von laufenden Arbeiten
  • Eine Vorlage zum Bearbeiten wieder öffnen
  • Duplizierung und Versionierung
  • Was sich zwischen den Versionen geändert hat

Wie du es bekommst

editor.getProjectData()

Das ist die Version, die gespeichert werden sollte. Wenn nur gerendertes HTML gespeichert wird, beginnt die nächste Bearbeitung mit geparstem Markup und nicht aus dem vom Benutzer erstellten Dokument.

HTML

grapesjs-preset-newsletter

Das tabellenbasierte Aufschlag, das Sie einem sendenden Anbieter übergeben, mit eingebetteten Stilen, damit mehr Kunden sie behalten.

Am besten für

  • Die letzte E-Mail, die gesendet wird
  • Übergabe an eine bestehende Pipeline
  • Maximale Kontrolle über den Ausgang

Wie du es bekommst

editor.runCommand('gjs-get-inlined-html')

Der Inline-Befehl kommt aus dem Newsletter-Preset, nicht vom GrapesJS-Kern. Ohne ihn bekommt man das Canvas-Markup und ein Stylesheet, was man nicht senden möchte.

MJML

grapesjs-mjml

Eine höherstufige Markup-Sprache für E-Mails, die zu einer responsiven Tabelle HTML kompiliert.

Am besten für

  • Responsive E-Mails mit weniger Markup erstellen
  • Speicherquellen lesbar halten
  • Kompilierung zu HTML zur Sendezeit

Wie du es bekommst

editor.runCommand('mjml-code')

MJML ist ein separates Ökosystem: Das Editor-Plugin rendert MJML-Komponenten, und ein Compiler wandelt sie in HTML um. Beides sind Drittanbieter-Pakete, die du hinzufügst.

JSON ist das Projekt. HTML und MJML sind die Lieferung. Speichere das erste, generiere die anderen.

Von dem Canvas zum Posteingang

  1. Visueller Editor
  2. Projekt JSON
  3. Deine Datenbank
  4. Rendern beim Senden
  5. HTML
  6. Dein E-Mail-Anbieter
Das Rendern zum Sendezeitpunkt statt beim Speichern ist der Grund, warum sich Merge-Tags pro Empfänger auflösen lassen – und warum Sie einen Footer in allen Vorlagen korrigieren können, ohne sie neu zu speichern.
Komponenten

Geben Sie Nutzern E-Mail-sichere Komponenten

Geben Sie den Nutzern keine leere Canvas und einen Div. Liefern Sie eine kleine Auswahl an Komponenten aus, die bereits das Tabellen-Markup, die Inline-Stile und die Rücklagen kodieren, und lassen Sie sie dann anordnen. Diese zehn decken den Großteil ab, was Marketing und Lebenszyklus-E-Mails tatsächlich brauchen.

  • Header

    Logo, Markenleiste, Vorkopftext. Meistens gesperrt, sodass jede E-Mail mit derselben Identität abgeschlossen wird.

  • Hero

    Überschrift, unterstützende Zeile und eine Aktion. So groß, dass die Nachricht überlebt, ohne dass das Bild geladen wird.

  • Text

    Ein Absatzblock mit einem echten Schriftart-Fallback-Stack und Zeilenhöhe, die bei Telefonbreiten Bestand hat.

  • Bild

    Feste Breite, explizite Maße und erforderlicher Alternativtext, sodass ein blockiertes Bild weiterhin eine lesbare E-Mail hinterlässt.

  • Button

    Ein tabellenbasierter Button statt eines gestalteten Ankers – der Unterschied ist bei strengeren Clients sichtbar.

  • Zwei-Spalten-Abschnitt

    Eine Tabellenzeile, die auf schmalen Viewports gestapelt wird — die Reihenfolge der Stapelung legen Sie vorher fest.

  • Produktkarte

    Bild, Name, Preis und Link, gesteuert von Feldern, die dein Backend ausfüllt, statt per Kopieren und Einfügen.

  • Social-Links

    Eine feste Reihe von Symbolen und URLs, die als Einstellungen und nicht als Markup bearbeitet werden kann.

  • Trennlinie

    Eine Linie, die mit einem Tabellenrahmen statt mit einem <hr>-Element gezeichnet wird — mehrere E-Mail-Clients stylen <hr> um.

  • Footer

    Absenderidentität, Adresse und Link zum Abmelden. Normalerweise gesperrt, da dies Verpflichtungen sind.

Lassen Sie Nutzer visuell gestalten, ohne dass sie E-Mail-HTML verstehen müssen.

Blöcke

Bauen Sie E-Mails aus wiederverwendbaren Blöcken

Eine Komponente ist die Definition; ein Block ist, wie ein Nutzer einen auf das Canvas bringt. Die Blockbibliothek ist der stärkste Hebel, den man über das haben kann, was Menschen bauen können – und der einfachste, um durch Großzügigkeit falsch zu liegen.

Die Schleife, die deine Nutzer wiederholen

  1. Blockbibliothek
  2. Auf das Canvas ziehen
  3. Anpassen
  4. Als Vorlage speichern

Ein uneingeschränktes Canvas

Jedes verfügbare Element, jeder Stil bearbeitbar, keine Meinung zur Struktur.

  • Nutzer produzieren Aufzeichnungen, die niemand überprüft hat
  • Support-Anfragen bezüglich eines einzelnen Client-Renderings
  • Vorlagen entfernen sich innerhalb weniger Wochen von der Marke
  • Es gibt keinen sicheren Weg, später einen gemeinsamen Abschnitt zu ändern

Eine kuratierte Blockbibliothek

Eine kurze Liste von Blöcken, die du entworfen, getestet und zentral ändern kannst.

  • Die Ausgabe bleibt in einem von dir validierten Markup
  • Neue Nutzer sind auch ohne Schulung produktiv
  • Markenregeln liegen in der Komponente, nicht in einem Dokument
  • Eine Blockade zu verbessern verbessert jede E-Mail, die sie nutzt,
Struktur

Vorlagen, Blöcke und Komponenten

Drei Ebenen, und deren Verwirrung macht es schwer, E-Mail-Builder zu entwickeln. Komponenten sind, was Dinge sind, Blöcke sind der Weg, wie sie hinzugefügt werden, Vorlagen sind fertige Ausgangspunkte.

  1. Vorlagen
  2. Blöcke
  3. Komponenten
  4. Ein Vorlagensystem, das dein Team wachsen lassen kann

Vorlagen

Vollständige E-Mail-Designs

Eine ganze E-Mail, von der ein Nutzer starten kann – Newsletter, Quittung, Onboarding-Schritt. Als Projekt JSON gespeichert, bei der Nutzung geklont.

Blöcke

Wiederverwendbare Abschnitte

Die ziehbaren Einheiten, aus denen eine Vorlage zusammengesetzt wird: ein hero, eine Artikelreihe, ein CTA-Band, ein Footer.

Komponenten

Domänenspezifische Elemente

Die editierbaren Primitiven in einem Block, mit eigenem traits und eigenen Regeln – eine Produktkarte, die weiß, dass sie einen Preis hat.

Baue zuerst die Komponenten, dann die Blöcke, die sie offenlegen, und dann die Vorlagen, die sie anordnen. Teams, die auf Vorlagenebene starten, haben am Ende Dutzende nahezu identische Designs und keine Möglichkeit, eines davon zu ändern.

Eine Newsletter-Vorlage, erweitert

Vorlage für den Newsletter

  • ├── Header (gesperrt)
  • ├── Hero
  • ├── Artikelblock ×3
  • ├── CTA
  • └── Footer (gesperrt)

Jedes Kind ist ein Block; jeder Block besteht aus Komponenten. Ändere den Artikelblock einmal, und jeder Newsletter, der aus dieser Vorlage erstellt wurde, nimmt ihn beim nächsten Öffnen auf.

Leitplanken

Geben Sie Nutzern Freiheit, ohne dass sie die Vorlage zerstören können

Das Sperren in GrapesJS ist kein Modus oder eine Planstufe – es ist eine Menge von Optionen auf einer Komponentendefinition. Ein gesperrter Bereich rendert weiterhin, exportiert weiterhin und weigert sich einfach, im Editor gezogen, gelöscht oder neu gestaltet zu werden.

Firmenkopf

Gesperrt

In jeder E-Mail anwesend, identisch in jeder E-Mail. Niemand muss sie verschieben.

Editierbarer Inhalt

Editierbar

Text und Bilder, die der Absender tatsächlich schreiben möchte.

Aufruf zum Handeln

Editierbar

Editierbares Etikett und Link sowie eine kurze Liste der Farben – nicht die darunterliegende Markierung.

Rechtlicher Footer

Gesperrt

Absenderidentität und Link zum Abmelden. Eine Verpflichtung, keine Designentscheidung.

Die Optionen, die sie hervorbringen

Firmenkopf
removable: false, draggable: false
Editierbarer Inhalt
editable: true
Aufruf zum Handeln
stylable: ['background-color', 'color']
Rechtlicher Footer
removable: false, copyable: false

Was dir das bringt

  • Markensicheres Bearbeiten ohne Überprüfungsschritt bei jedem Versand
  • Compliance-Inhalte, die nicht versehentlich gelöscht werden können
  • Ein kürzerer Style Manager, der ebenfalls ein einfacherer UI ist
  • Genehmigte Blöcke, die sich in jeder Vorlage gleich verhalten
  • Zentrale Änderungen an gemeinsamen Abschnitten, ohne Entwürfe zu berühren
Siehe das kontrollierte No-Code-Muster

Diese Optionen steuern den Editor UI. Sie sind keine Autorisierung. Ein modifiziertes Projekt, das direkt an deinem Speicherpunkt gepostet wird, ist nur durch das begrenzt, was dein Server validiert – also validiere jedes Mal die Struktur, die erforderlichen Regionen und die erlaubten Felder im Backend.

Personalisierung

Erstellen Sie dynamische E-Mail-Inhalte

Personalisierte E-Mails bestehen aus zwei getrennten Problemen: einem Nutzer zu erlauben, einen Platzhalter zu platzieren, ohne die Syntax zu kennen, und diesen Platzhalter mit echten Daten zum Zeitpunkt des Senden zu lösen. Der Editor löst das erste. Nur deine Anwendung kann das zweite lösen.

Tags in der Vorlage zusammenführen

  • {{first_name}}
  • {{company_name}}
  • {{order.total}}
  • {{unsubscribe_url}}

Für den Editor handelt es sich hierbei um gewöhnlichen Text. Sie werden genau so gespeichert, wie sie geschrieben sind, erhalten bleiben, öffnen und exportieren unberührt.

Wie Nutzer sie einfügen

Stellen Sie die verfügbaren Felder als Merkmal in Ihrer Textkomponente bereit – ein Dropdown-Menü mit "Vorname", "Unternehmen", "Bestellgesamt" – und schreiben Sie das Token selbst in den Inhalt. Nutzer wählen ein Feld aus; sie lernen nie eine Syntax und können kein Tag erfinden, das Ihr Renderer nicht kennt.

Dynamische Blöcke

Ein Block kann ein Platzhalter für Inhalte sein, die noch nicht existieren. Der Nutzer fügt eine Produktkarte ein und konfiguriert, welche Produkte angezeigt werden sollen; die Werte kommen an, wenn die E-Mail gerendert wird.

  1. 1Der Nutzer platziert eine Produktkarte
  2. 2Ihr Backend fragt den Katalog zum Zeitpunkt des Sendens ab
  3. 3Name, Preis, Bild und URL sind ausgefüllt
  4. 4Das gerenderte HTML geht an deinen Anbieter

GrapesJS bietet das Bearbeitungserlebnis. Ihr Backend löst dynamische Daten und Merge Tags auf, wenn die E-Mail gerendert oder gesendet wird.

Vorschau

E-Mails vor dem Versand in der Vorschau prüfen

Zwei Breiten decken fast die gesamte Designprüfung ab: die Breite, in der die E-Mail verfasst ist, und ein Telefon. Beide sind im Editor nur ein Geräteschalter entfernt, und keines ist dasselbe wie das Testen.

Desktop600pxDie Autorenbreite. Fast jede E-Mail-Vorlage ist mit 600px aufgebaut.
Mobil375pxDort wird die meiste Post tatsächlich geöffnet. Überprüfe die gestapelte Bestellung und die Tap-Ziele.

Der Workflow, der tatsächlich Probleme erkennt

  1. 1Vorschau im EditorSchalte das Gerät um, schalte Bilder aus und lies die E-Mail mit der Fallback-Schriftart. Das erkennt Struktur- und Hierarchieprobleme in Sekunden.
  2. 2Inspizieren Sie die AusgabeLies das generierte Markup für alles, was nicht vorhanden sein sollte – eine abweichende Klasse, eine uninlineierte Regel, ein fehlendes Alt-Attribut.
  3. 3Auf eine Saatgutliste sendenEchte Konten der Kunden, die dein Publikum nutzt. Dies ist der einzige Schritt, der dir zeigt, was die Empfänger sehen.
  4. 4Fügen Sie eine Dienstleistung hinzu, wenn sie ihren Platz verdient hatDrittanbieter-Dienste machen einen Screenshot von einer Vorlage über viele Kunden hinweg. Es lohnt sich, wenn man Vorlagen oft genug verschickt, sodass eine Seed-Liste zum Engpass wird.

Eine In-Editor-Vorschau ist dein Browser, der das Canvas-Markup rendert. Ein Mail-Client rendert eine transformierte Version dieses Markups über seine eigene Engine, und die beiden können unterschiedlich sein. Preview dient der Designprüfung; eine Seed-Liste oder ein Rendering-Service dient der Kompatibilität.

Validierung

Validieren Sie, bevor Sie absenden

Die meisten E-Mail-Katastrophen sind keine Fehler. Sie sind ein defekter Link, ein unbefülltes Merge-Tag oder ein fehlendes Abmelden. Alle drei sind auf dem Server günstig zu entdecken und teuer im Posteingang.

Inhalt

Ist die E-Mail komplett?

Führe sie aus, bevor eine Vorlage aus dem Entwurf herauskommen kann.

  • Betreffzeile und Vorschrift sind vorhanden
  • Jedes Bild hat Alt-Text
  • Jede Bild-URL ist absolut und öffentlich zugänglich
  • Es ist keine Platzhalterkopie mehr von der Vorlage übrig
  • Erforderliche Regionen sind weiterhin im Projekt vorhanden
Links

Löst sich alles?

Günstig zu automatisieren und der häufigste Einzelausfall.

  • Jeder Href ist absolut und liefert einen Erfolgsstatus
  • Keine Mailto- oder Tel-Tippfehler
  • Tracking-Parameter werden konsistent angewendet
  • Jedes Merge-Tag stimmt mit einem Feld überein, das dein Renderer kennt
  • Kein Tag bleibt im gerenderten Output ungelöst
Einhaltung

Ist es legal zu senden?

Nicht verhandelbar, also setze es im Code durch, statt in einer Checkliste.

  • Abmeldelink vorhanden und funktionsfähig
  • Absenderidentität und Postadresse vorhanden
  • Einwilligung für die Empfänger auf dieser Absendung aufgezeichnet
  • Der gesperrte Rechtsgrunder ist im gespeicherten Projekt intakt
  • Die Ausgabe wurde desinfiziert, falls irgendein Teil davon von Nutzereingaben stammte.
Persistenz

E-Mail-Projekte speichern und wiederherstellen

Das Storage Manager ist eine Schnittstelle, keine Datenbank. Implementiere es an deinem eigenen API, und der Editor lädt, speichert und stellt automatisch über die von dir kontrollierten Endpunkte wieder her – und genau dann werden Entwürfe, Versionen und Genehmigungen überhaupt noch möglich.

Der Lebenszyklus, den Ihr Backend definiert

  1. Bearbeitung
  2. Autosave
  3. Entwurf
  4. Version
  5. Genehmigt
  6. Veröffentlicht
storage-adapter.tsJS
// The editor hands you project JSON; your backend decides
// what a draft, a version and an approved template mean.
editor.Storage.add('email-api', {
  async load({ templateId }) {
    const res = await fetch(`/api/email-templates/${templateId}`);
    return res.json();               // -> project JSON
  },
  async store(data, { templateId }) {
    await fetch(`/api/email-templates/${templateId}`, {
      method: 'PUT',
      headers: { 'Content-Type': 'application/json' },
      // Authorization is enforced server-side. Never trust this call.
      body: JSON.stringify({ project: data }),
    });
  },
});

Autosave wird durch die Anzahl der Änderungen und nicht durch einen Timer gedrosselt, daher kostet ein Burst von Bearbeitungen immer noch eine Anfrage. Behalte Versionen als unveränderliche Kopien des Projekts JSON – eine Wiederherstellung einer Version kostet dann nur eine Ladung, und eine schlechte Bearbeitung ist kein Vorfall mehr.

Lieferung

Verbinden Sie Ihre bestehende E-Mail-Infrastruktur

Nichts an dieser Architektur verlangt von dir, die Art und Weise zu ändern, wie du Post versendest. Der Editor erstellt ein Dokument; dein Backend rendert es und übergibt es an den Anbieter, für den du bereits bezahlst.

  1. 01

    GrapesJS

    Produziert das Projekt und auf Anfrage den Aufschlag. Weiß nichts über Empfänger.

  2. 02

    HTML / MJML

    Sie werden auf Abruf aus dem gespeicherten Projekt generiert, mit eingearbeiteten Stilen oder MJML-kompiliert.

  3. 03

    Dein Backend

    Löst Merge-Tags, validiert das Ergebnis, zeichnet die Kampagne auf, ruft den Anbieter an.

  4. 04

    Dein E-Mail-Anbieter

    Es wird die Post zugestellt und die Berichte werden gebouncet, beschwerden, geöffnet und zu Ihnen zurückgeklickt.

Beispiele, wo dein Backend postet

  • Mailgun
  • Postmark
  • SendGrid

Alphabetisch aufgelistet als Illustrationen des letzten Hops. Jeder Anbieter mit einem HTTP-API- oder SMTP-Endpunkt hat die gleiche Form, und das Austauschen eines gegen einen anderen berührt den Editor nicht.

GrapesJS ist der Editor, nicht dein E-Mail-Zustelldienst.

Weder GrapesJS noch GJS.Market liefern eine Integration mit einem der oben genannten Anbieter aus, und es wird keine Partnerschaft impliziert. Die Lieferung von Authentifizierung, Authentifizierung und Unterdrückung bleiben in der Verantwortung Ihres Anbieters und Ihrer Anwendung.

send-campaign.tsts
// Server side. GrapesJS is not in this file — and that is the point.
const template = await db.emailTemplates.find(templateId);

// 1. Your application resolves merge tags. The editor never does.
const html = renderMergeTags(template.html, {
  first_name: user.firstName,
  unsubscribe_url: unsubscribeUrlFor(user),
});

// 2. Your ESP delivers it. Swap the client, keep the editor.
await esp.send({ to: user.email, subject: template.subject, html });
Anwendungsfälle

Was kannst du bauen?

Die gleiche Bearbeitungsebene, auf acht verschiedene Arten verpackt. Was sich zwischen ihnen ändert, ist, wer bearbeitet, was sie ändern dürfen und wohin die Ausgabe geht.

Bauen vs. übernehmen

Sollte man einen E-Mail-Editor von Grund auf neu bauen?

Kein Urteil, sondern ein Scope-Check. Jede Zeile ist etwas, das ein E-Mail-Builder braucht. Die linke Spalte zeigt Arbeiten, die du besitzen würdest; die rechte ist das, was GrapesJS dir gibt, bevor du eine Komponente schreibst.

LeistungsfähigkeitVon Grund aufMit GrapesJS
Visuelles CanvasSelbst bauenVerfügbar
Drag & DropSelbst bauenVerfügbar
KomponentenmodellSelbst bauenVerfügbar
BlockbibliothekSelbst bauenErweiterbar
StilbearbeitungSelbst bauenVerfügbar
EbenenbaumSelbst bauenVerfügbar
Rückgängig machen / neu machenSelbst bauenVerfügbar
Asset-VerwaltungSelbst bauenVerfügbar
SpeicherintegrationSelbst bauenKonfigurierbar
Individuelle KomponentenSelbst bauenUnterstützt
Plugin-ArchitekturSelbst bauenUnterstützt

"Verfügbar" heißt, dass die Fähigkeit im Kern enthalten ist und konfiguriert, nicht gebaut werden muss. Es heißt nicht, dass keine Arbeit anfällt: Jeder ernsthafte E-Mail-Builder definiert eigene Komponenten, beschränkt die eigenen Stile und schreibt seinen eigenen Storage-Adapter. Geprüft gegen grapesjs 0.23.6 am 2026-09-03.

Baue dein E-Mail-Produkt, nicht eine weitere Editor-Engine.

Marktplatz

Erweitern Sie Ihren E-Mail-Builder mit Plugins

Echte Einträge aus dem GJS.Market-Katalog, gruppiert nach der Bauphase, zu der sie gehören. Namen, Preise und Bilder stammen direkt vom Marktplatz, daher sehen Sie hier das, was heute tatsächlich zum Verkauf steht.

Die E-Mail verbreiten

Exportiere das fertige Dokument für die Übergabe, Überprüfung oder eine bestehende Build-Pipeline.

Durchstöbern Sie die Kategorie

Einige Funktionen auf dieser Seite haben kein Plugin dahinter, und dieser Abschnitt wird keines erfinden: Es gibt kein Vorschau- oder Spam-Check-Produkt, kein CSS-Inliner-Produkt, kein Merge-Tag-Produkt und kein fertiges E-Mail-Vorlagenprodukt im Katalog. Diese werden hier als Muster beschrieben, die man implementieren kann, oder als Arbeit, die unser Team mit Ihnen erledigen kann.

Stacks

Baue deinen E-Mail-Builder-Stack auf

Vier Builds, zusammengesetzt ausschließlich aus heutigen Angeboten. Beginne in der Reihe, die zu dem passt, was du auslieferst, und füge die nächste Ebene hinzu, wenn sie ihren Platz gefunden hat.

Die Preise stammen aus dem Live-Katalog zur Bauzeit. Kostenlose Angebote werden markiert; bezahlte verlinken direkt auf ihre Produktseite.

Schneller Start

Baue einen Drag-and-Drop-E-Mail-Builder in 5 Schritten

Die Form des Werks, in der Reihenfolge, in der es sinnvoll ist. Jeder Schritt führt zu dem Leitfaden, der es richtig behandelt – diese Seite ist eine Karte, kein Tutorial.

  1. 1

    Initialisieren Sie den Editor

    Mounte GrapesJS auf einem Container, setze die E-Mail-Anforderungen der beiden Geräte und schalte den Standardspeicher vor allem anderen aus.

    GrapesJS-Einrichtungsanleitung
  2. 2

    Definiere E-Mail-Komponenten

    Schreiben Sie die tabellenbasierten Komponenten, aus denen Ihre E-Mails bestehen, beschränken, was gestylt werden kann, und stellen Sie jede als Block bereit.

    E-Mail-Komponenten in der Tiefe
  3. 3

    Vorlagen hinzufügen

    Gib den Nutzern einen Anfangspunkt. Speichere Vorlagen als Projekt JSON und klone sie bei Gebrauch, anstatt das Original zu bearbeiten.

    Template-Systeme
  4. 4

    Projekte speichern

    Implementiere einen Speicheradapter an deinem API, damit Entwürfe, autosave und Versionen von dir definiert werden können.

    Speicher-Plugins
  5. 5

    Rendern und senden

    Generiere das Markup beim Senden, löse Merge-Tags serverseitig auf und übergebe das Ergebnis deinem Anbieter.

    Hol dir Hilfe beim Bau
email-editor.tsts
import grapesjs from 'grapesjs';
import newsletter from 'grapesjs-preset-newsletter';

const editor = grapesjs.init({
  container: '#email-editor',
  height: '100%',
  // Email is authored at a fixed width; give users one extra viewport
  // to check, not a full responsive breakpoint set.
  deviceManager: {
    devices: [
      { id: 'desktop', name: 'Desktop', width: '' },
      { id: 'mobile', name: 'Mobile', width: '375px' },
    ],
  },
  // Curated blocks only: the preset's table sections, plus your own.
  plugins: [
    (ed) => newsletter(ed, { inlineCss: true, showBlocksOnLoad: true }),
  ],
  // Point the editor at your API rather than the browser's localStorage.
  storageManager: {
    type: 'remote',
    autosave: true,
    stepsBeforeSave: 10,
  },
});
email-button.tsts
// An email-safe button: users edit the label and the link,
// never the table markup that makes it render in Outlook.
editor.DomComponents.addType('email-button', {
  isComponent: (el) => el.dataset?.type === 'email-button',
  model: {
    defaults: {
      draggable: '[data-gjs-type="cell"], td',
      // Users may recolour it; they may not restyle it into a div.
      stylable: ['background-color', 'color', 'border-radius'],
      traits: [
        { name: 'href', label: 'Link' },
        { name: 'label', label: 'Button text' },
      ],
      components: `
        <table role="presentation" cellpadding="0" cellspacing="0">
          <tr><td><a href="#">Read the update</a></td></tr>
        </table>`,
    },
  },
});

Beide Samples laufen gegen grapesjs 0.23.6. 'grapesjs-preset-newsletter' und 'grapesjs-mjml' sind separate BSD-3-Clause-Pakete – der Kern wird ohne E-Mail-Preset ausgeliefert – also installieren Sie das Format, das dem oben gewählten Ausgabeformat entspricht.

Vor dem Launch

Produktionscheckliste

Was unterscheidet eine funktionierende Demo von einem E-Mail-Builder, den man den Kunden geben kann? Alles hier ist deine Arbeit, nicht die des Editors.

Editor

Das Bearbeitungserlebnis

Was Nutzer tun können und was nicht.

  • Kuratierte Blockbibliothek, nicht das Standardset
  • E-Mail-sichere Komponenten mit eingeschränkten Stilen
  • Responsive Bearbeitung bei beiden Gerätebreiten
  • Templates verfügbar aus einem leeren Zustand
  • Gesperrte Header-, Footer- und Rechtsbereiche
Daten

Persistenz

Nichts, was ein Nutzer erstellt, sollte verloren werden können.

  • Projekt JSON bestand auch durch dein eigenes API
  • Autosave wird durch die Anzahl der Änderungen gedrosselt
  • Unveränderliche Versionshistorie mit Wiederherstellung
  • Backups, die den Vorlagenspeicher abdecken
  • Ein erprobter Weg zur Wiedereröffnung eines alten Projekts
Ausgabe

Was das System verlässt

Jedes Mal auf dem Server validiert.

  • HTML- oder MJML-Ausgang wird vor dem Senden validiert
  • Jeder Link überprüft und absolut
  • Jeder Merge-Tag ist auflösbar
  • Jede Bild-URL ist öffentlich und dauerhaft
  • Vom Nutzer geliefertes HTML wird bereinigt
E-Mail

Zustellbarkeit und Recht

Die Teile, die nicht mit Design zu tun haben.

  • Getestet an den Kunden, die dein Publikum nutzt
  • Ich habe es auf einem Handy überprüft, nicht nur auf einem Desktop
  • Ich arbeite bei jedem Senden abmelden
  • Absender-Identität und Adresse im Footer
  • Tracking und Zustimmung werden je nach Zuständigkeit abgewickelt
Sicherheit

Wo E-Mail-Builder angegriffen werden

Ein E-Mail-Builder akzeptiert von Nutzern erstelltes Markup und sendet es an Dritte. Diese Kombination verdient mehr Sorgfalt als eine typische CRUD-Funktion.

  • Risiko

    Vertrauen in die Einschränkungen des Editors

    Gesperrte Regionen, eingeschränkte Stile und versteckte Blöcke befinden sich im Browser. Eine erstellte Anfrage kann jedes beliebige Projekt posten.

    Was zu tun ist

    Validiere das gespeicherte Projekt auf dem Server: erforderliche Regionen vorhanden, Komponententypen auf einer Zulassungsliste, Felder innerhalb der Grenzen.

  • Risiko

    Senden von unbeschönigtem benutzerdefiniertem Code

    Eine Code-Embed-Komponente ist eine Feature-Anfrage, die auf jedem E-Mail-Builder ankommt und eine Injektionsfläche ist, die auf die Posteingänge Ihrer Kunden zeigt.

    Was zu tun ist

    Desinfizieren Sie das gespeicherte Markup und desinfizieren Sie es beim Rendern erneut. Beschränken, wer eine Codekomponente verwenden darf, und protokollieren Sie jede Nutzung davon.

  • Risiko

    Akzeptiert jede hochgeladene Datei

    Uploads, die von einem Editor erreicht werden, landen auf öffentlichen URLs, die so lange bestehen wie die E-Mail.

    Was zu tun ist

    Typ und Größe auf dem Server validieren, Bilder neu kodieren und Assets von einer Domain bereitstellen, die keine Session-Cookies enthält.

  • Risiko

    Das Senden-Endpunkt untergeschützt

    Das Rendern und Senden sind die teuren, irreversiblen Operationen. Sie werden in der Regel weniger sorgfältig geschützt als der Editor-Weg.

    Was zu tun ist

    Autorisieren Sie pro Vorlage und pro Empfängerliste, Versand von Zinsbegrenzungen und eine zweite Kontrolle, bevor etwas an ein volles Publikum geht.

  • Risiko

    Auflösen von Merge-Tags gegen das, was im Anwendungsbereich liegt,

    Ein permissiver Template-Renderer interpoliert gerne ein Feld, das der Sender eigentlich nie sehen sollte.

    Was zu tun ist

    Resolve gegen eine explizite Erlaubnisliste von Feldern für diese Vorlage und das Rendern bei einem unbekannten Tag fehlschlagen, anstatt es auszusenden.

Leistung

Halte den E-Mail-Builder schnell

Der Editor ist eine große Abhängigkeit, die in deiner Anwendung lebt. Das sind die Hebel, die zählen, in der Reihenfolge, in der sie sich normalerweise auszahlen.

  • Lade den Editor träge

    Importiere es nur auf der Route, die eine E-Mail bearbeitet, und nur im Browser. Nichts am Editor gehört in ein Server-Rendering oder in dein Hauptbundle.

  • Lazy-Load-optionale Plugins

    Ein Code-Viewer, ein Bildeditor oder ein MJML-Compiler können erscheinen, wenn der Benutzer dieses Panel öffnet, anstatt auf init.

  • Halte die Blockbibliothek kurz

    Jeder Block wird beim Start mit Markup geparst und eine Karte in der Palette gerendert. Ein kuratiertes Set ist schneller und sicherer.

  • Debounce autosave

    Drosseln Sie nach Änderungsanzahl statt nach Tastendrücken, sodass ein Tippstoß eine Anfrage statt dreißig erzeugt.

  • Halte die Projektdaten schlank

    Referenziere Assets nach URL. Base64-Bilder im Projekt JSON machen jede Lade-, Speicher- und Versionskopie schwerer.

  • Achten Sie auf eigene Komponenten

    Komponentenlogik, die bei jeder Änderung läuft, ist die übliche Ursache für eine Canvas, die sich bei langen E-Mails träge anfühlt.

Absichtlich werden hier keine Zahlen genannt: Die Zahlen hängen von Ihrer Blockanzahl, Ihrer Komponentenlogik und der Hardware Ihrer Nutzer ab. Messen Sie den Editor-Weg in Ihrer eigenen Anwendung vor und nach jeder Änderung.

Die Entscheidung

Selbstgehosteter E-Mail-Builder vs. gehostete Plattform

Jetzt, da die Architektur klar ist, lässt sich der Kompromiss leicht benennen. Ein gehosteter Builder ist schneller vor einen Kunden zu stellen; ein Builder, den Sie besitzen, ist ein Merkmal Ihres Produkts und nicht eine Abhängigkeit davon.

Gehostete E-Mail-Builder-Plattform

Ein einbettbarer Editor, der von einem Anbieter betrieben wird und über deren API und deren UI integriert ist.

Was du bekommst

  • Vom Anbieter betriebene Infrastruktur
  • Die Aufenthalts- und Aufbewahrung der Daten hängt vom Anbieter ab
  • Die UI-Anpassung variiert je nach Produkt und Plan
  • Individuelle Komponenten variieren je nach Produkt und Plan
  • Branding hängt vom jeweiligen Plan ab
  • Backend-Integration über das API des Anbieters
  • Das Senden hängt vom Modell der Plattform ab
  • Der Editor bleibt ein externes Werkzeug in deinem Produkt

Schnellster Weg zu einem funktionierenden Editor, wobei die Roadmap und die Preise von jemand anderem übernommen werden.

Vergleichen Sie es mit einem gehosteten Anbieter

Dein GrapesJS-basierter Builder

Eine Open-Source-Bearbeitungsschicht, die Sie konfigurieren, erweitern und als Teil Ihrer eigenen Anwendung bereitstellen.

Was du bekommst

  • Die Infrastruktur gehört dir, wo immer du bereits unterwegs bist
  • Die Daten bleiben in Ihrer Datenbank unter Ihren Richtlinien
  • Der UI ist dein UI, bis hin zu den Panels und der Sprache
  • Benutzerdefinierte Komponenten sind gewöhnlicher Anwendungscode
  • Branding ist, wie dein Produkt aussieht
  • Backend-Integration ist deine eigene Architektur
  • Das Senden bleibt bei dem Anbieter, den du bereits nutzt
  • Der Editor ist eine native Funktion, kein eingebettetes Werkzeug

Mehr Arbeit im Voraus und ein Editor, der mit deinem Produkt wächst statt darum herum.

Jetzt loslegen

Gehostete Plattformen unterscheiden sich erheblich voneinander, weshalb in der linken Spalte steht: "Hängt vom Anbieter ab" statt eine pauschale Aussage zu treffen. Überprüfen Sie die Bedingungen des jeweiligen Anbieters bezüglich Datenstandort, Speicherhaltung, Anpassungsgrenzen und was mit Ihren Vorlagen passiert, wenn Sie gehen.

Integration

Nutze den E-Mail-Builder mit deinem Anwendungsstack

GrapesJS rendert in ein einfaches DOM-Element, daher ist die Integration eine Frage, welcher Lebenszyklus-Hook init aufruft und welcher destroy. Dein Framework treibt deine Anwendung an; GrapesJS steuert die visuelle E-Mail-Bearbeitungsebene.

Fang mit dem GrapesJS-Tutorial an
FAQ

Fragen zum Drag-and-Drop-E-Mail-Builder

Was ist ein Drag-and-Drop-E-Mail-Builder?

Ein visueller Editor, mit dem sich eine E-Mail aus wiederverwendbaren Komponenten – Header, Text, Bild, Button, Footer – zusammenstellen lässt, statt Tabellen-Markup und Inline-CSS von Hand zu schreiben. Die Regeln von E-Mail-HTML werden einmal in den Komponenten kodiert, statt von jedem gelernt zu werden, der eine E-Mail schreibt.

Kann ich mit GrapesJS einen Drag-and-Drop-E-Mail-Builder bauen?

Ja. GrapesJS liefert das Canvas, Drag-and-Drop, Komponentenmodell, Blockbibliothek, Stil- und Trait-Panels, Layer-Tree, Rückgängig-/Wiederholen und Projektserialisierung. Sie stellen die E-Mail-sicheren Komponenten, die Vorlagen, den Speicheradapter und die Send-Pipeline bereit.

Unterstützt GrapesJS das Bearbeiten von E-Mails?

Der Kern ist ein allgemeines Web-Builder-Framework und wird ohne E-Mail-Preset ausgeliefert. Die E-Mail-Unterstützung erfolgt durch Plugins: grapesjs-preset-newsletter fügt tabellenbasierte Blöcke, einen E-Mail-orientierten Style Manager und einen CSS-Inlining-Exportbefehl hinzu, und grapesjs-mjml fügt MJML-Komponenten hinzu. Beides sind separate BSD-3-Clause-Pakete.

Kann ich MJML mit GrapesJS verwenden?

Ja, über das grapesjs-mjml-Plugin. Es rendert MJML-Komponenten live im Canvas mit dem Browser-Build des MJML-Compilers. editor.runCommand('mjml-code') gibt den MJML-Quellcode zurück und mjml-code-to-html kompiliert ihn zu HTML.

Kann ich HTML-E-Mails exportieren?

Ja. editor.getHtml() gibt das Canvas-Markup zurück, und das Newsletter-Preset fügt gjs-get-inlined-html hinzu, das HTML mit dem CSS eingearbeitet zurückgibt – was du senden möchtest. Du kannst auch in deiner eigenen Backend-Pipeline inlinen, wenn du diesen Schritt serverseitig behalten möchtest.

Kann ich E-Mail-Vorlagen in meiner eigenen Datenbank speichern?

Ja, und das solltest du auch. Storage Manager ist eine Schnittstelle: Implementiere load und store auf deinen API, und der Editor speichert das Projekt JSON in deiner Datenbank. Nichts wird auf einem Drittanbieterdienst gespeichert, es sei denn, du entscheidest dich, es dort zu speichern.

Kann ich benutzerdefinierte E-Mail-Sperren erstellen?

Ja. Definiere einen Komponententyp mit dem Tabellen-Markup, dem traits und den gewünschten Stilbeschränkungen und registriere dann einen Block, der ihn einfügt. Das ist der wichtigste Hebel für das, was Nutzer produzieren können, und es ist gewöhnlicher Anwendungscode.

Kann ich Teile einer E-Mail-Vorlage sperren?

Ja, mit Komponentenoptionen wie removable: false, draggable: false, copyable: false und einer eingeschränkten stylable-Liste. Beachte, dass diese den Editor UI steuern – dein Server muss weiterhin überprüfen, ob ein gespeichertes Projekt die Regionen enthält, die es enthalten muss.

Kann ich Merge-Tags und dynamische Inhalte verwenden?

Ja. Der Editor behandelt einen Tag wie {{first_name}} als gewöhnlichen Text und speichert ihn unberührt, sodass du Tags über ein Trait-Dropdown-Menü platzieren kannst, anstatt die Nutzer die Syntax lernen zu lassen. Das Auflösen dieser Tags gegen reale Daten erfolgt im Backend zur Renderzeit – GrapesJS macht das nicht.

Kann ich SendGrid, Mailgun oder Postmark anschließen?

Dein Backend kann das, genauso wie heute: HTML generieren, die Merge-Tags auflösen, das API des Anbieters aufrufen. GrapesJS befindet sich nicht in diesem Anfragepfad, und weder GrapesJS noch GJS.Market liefern eine Integration mit einem dieser Anbieter.

Versendet GrapesJS E-Mails?

Nein. Es handelt sich um einen Editor. Zustellung, Bounces, Beschwerden, Unterdrückungslisten und Engagement-Events gehören alle Ihrem E-Mail-Dienstanbieter, und die Kampagnenunterlagen und die Terminplanung gehören Ihrer Anwendung.

Kann ich den Builder in React verwenden?

Ja. Mounte den Editor in einem Effekt gegen einen ref-generierten Container, halte diesen Container aus dem Renderpfad von React heraus und zerstöre die Instanz beim Unmounten. Es gibt ein offizielles React-Wrapper-Paket, falls du Komponenten der manuellen Lebenszyklushandhabung vorziehst.

Kann ich es mit Vue oder Angular verwenden?

Ja. GrapesJS rendert in ein einfaches DOM-Element, daher ist Integration eine Frage, init vom Mount-Hook deines Frameworks aufzurufen und von dessen Teardown-Hook zu zerstören. Es gibt keinen offiziellen Vue- oder Angular-Wrapper, und keiner wird benötigt.

Kann ich den E-Mail-Builder whitelabeln?

Ja. Panels, Buttons, Icons, das Stylesheet und die eigenen Interface-Strings des Editors sind alle konfigurierbar, sodass der Editor wie ein Teil deines Produkts aussieht und liest und nicht wie ein eingebettetes Drittanbieter-Tool ist.

Sollte ich einen E-Mail-Editor von Grund auf bauen?

Nur wenn die Bearbeitungs-Engine selbst Ihr Produkt ist. Wenn Sie ein E-Mail-Produkt verkaufen – Vorlagen, Kampagnen, Personalisierung, Lieferung – dann sind Canvas, Drag-and-Drop- und Komponentenmodell undifferenzierte Arbeit, und die Einführung einer bestehenden Engine lässt das Budget für die Teile übrig, was Kunden tatsächlich bemerken.
Dienstleistungen

Brauchen Sie Hilfe beim Aufbau Ihres E-Mail-Builders?

Wenn Sie lieber möchten, dass das funktioniert, als es zu recherchieren, entwickelt unser Team GrapesJS-basierte E-Mail-Editoren als Service – einschließlich der Teile dieser Seite, die kein Plugin enthalten.

  • GrapesJS-Integration in eine bestehende Anwendung
  • Benutzerdefinierte E-Mail-sichere Komponenten
  • Integration und Kompilierung von MJML
  • Kuratierte Blockbibliotheken
  • Speicheradapter und Versionsgeschichte
  • Vorlagensysteme und Starterbibliotheken
  • Merge-Tags und dynamische Blöcke
  • White-Label-Editor UI
  • Benutzerdefinierte Plugins
  • Veröffentlichungs- und Genehmigungsworkflows
Sprich mit einem GrapesJS-Experten
Loslegen

Baue deinen E-Mail-Builder

Geben Sie Ihren Nutzern eine visuelle Möglichkeit, E-Mails zu erstellen, ohne Ihr Entwicklungsteam dazu zu zwingen, einen E-Mail-Editor von Grund auf neu zu entwickeln.

Bauen

Fang an, mit GrapesJS zu bauen

Sagen Sie uns, was der Editor tun muss, und erstellen Sie einen Rahmen für die Integration.

Jetzt loslegen

Ihre Nutzer erstellen die E-Mails. Ihr Produkt besitzt das Erlebnis.