Reagieren
Der Editor mountet als Komponente in deinem Baum. Dein Router, deine Provider und dein Auth-Kontext hüllen ihn weiterhin ein, und sein Zustand fließt wie bei jeder anderen Komponente zurück in React.
PageKit — der selbst gehostete GrapesJS-Website-Builder, als Quellcode. Early Access sichern
Integrieren Sie einen anpassbaren visuellen E-Mail-Editor in Ihre React- oder Next.js-Anwendung. Lassen Sie Ihre Nutzer responsive E-Mail-Vorlagen mit wiederverwendbaren Blöcken, benutzerdefinierten Komponenten und MJML- oder HTML-Export erstellen – während Ihr Produkt seine eigenen Nutzer, Daten und Versandinfrastruktur behält.
26k+
GitHub steht im Editor-Core
1.4M+
NPM-Downloads pro Monat
100+
Plugins und Presets auf GJS.Market
BSD-3-Clause
Lizenz des Editor-Kerns
Kein gehosteter Editor, den du mietest, und keine Vorlagengalerie. Eine Bearbeitungsebene, die du in der bereits laufenden Anwendung montierst.
Der Editor mountet als Komponente in deinem Baum. Dein Router, deine Provider und dein Auth-Kontext hüllen ihn weiterhin ein, und sein Zustand fließt wie bei jeder anderen Komponente zurück in React.
Ihre Nutzer setzen E-Mails zusammen, indem sie Blöcke auswählen und den Text bearbeiten, wo er steht, anstatt einem Entwickler ein Layout zu beschreiben oder ein Table-Markup von Hand zu beschreiben.
Komponenten, Blöcke, Panels und Befehle liegen bei dir. Die Teile des Schnitt-Erlebnisses, die spezifisch für dein Produkt sind, können von dir selbst geschrieben werden.
Vorlagen werden über deine eigene API in deine eigene Datenbank gespeichert und von dem Anbieter gesendet, für den du bereits bezahlst. Nichts hier ruft während der Laufzeit einen Editor-Service auf.
Diese Leinwand ist eine React-Komponente, die auf dieser Seite läuft – kein Editor-Bundle, kein iframe. Füge einen Block hinzu, klicke auf einen beliebigen Abschnitt, um ihn auszuwählen, tippe den Text an Ort und Stelle neu ein, formatiere ihn neu, ordne ihn neu und wechsle die Vorschau zwischen Desktop, Tablet und Mobilgerät. Öffne den HTML-Tab, um zu sehen, welche Art von Markup ein E-Mail-Builder deinem Code zurückgibt.
Blöcke
Füge der E-Mail einen Abschnitt hinzu.
Klicken Sie auf einen Abschnitt, um ihn auszuwählen, und bearbeiten oder neu gestalten
Auswahl
Nichts wurde ausgewählt
Klicken Sie auf einen Abschnitt in der Leinwand oder fügen Sie einen aus dem Block-Panel hinzu.
Nichts darunter lädt, bis du danach fragst: Im HTML dieser Seite gibt es keinen iframe, und es wird jeweils nur eine Demo montiert. Dies sind öffentliche Demos, die von ihren Autoren gehostet werden.
Das Newsletter-Preset: e-Mail-sichere Blöcke, ein Restricted Style Manager und tabellenbasierte Ausgabe. Das ist das, was Ihre Nutzer sehen würden, am nächsten.
Ein React-E-Mail-Builder ist ein visueller Editor, der in einer React-Anwendung läuft und es den Nutzern ermöglicht, E-Mail-Vorlagen zu erstellen und anzupassen, ohne ein HTML-E-Mail-Markup manuell zu schreiben. Es ist kein separates Produkt, in das sich Ihre Nutzer einloggen: Es ist eine Komponente Ihrer App, sodass die Vorlagen, die Konten, die sie besitzen, und die Infrastruktur, die sie sendet, alle auf Ihrer Seite bleiben.
Was hindurchgeht
Die Aufgabe des Editors besteht darin, Markup zu erstellen. Alles davor und danach ist deine Anwendung.
In all diesen Fällen ist die Alternative, dass ein Entwickler jedes Mal eine Vorlage von Hand bearbeitet, wenn jemand im Unternehmen eine Änderung möchte.
Lassen Sie Kunden ihre eigenen Transaktions- und Lebenszyklus-E-Mails innerhalb Ihres Produkts in ihrem eigenen Tarif ohne Support-Ticket gestalten.
Geben Sie Vertriebs- und Erfolgsteams eine Möglichkeit, die Kundenkommunikation selbst zu gestalten, mit den Feldern und Merge-Tags, die Ihr CRM bereits offenlegt.
Erstelle wiederverwendbare Vorlagen einmal und verweise sie aus jedem automatisierten Workflow, anstatt Markup pro Kampagnenschritt zu duplizieren.
Machen Sie das Verfassen eines Themas zu einer Designaufgabe statt zu einer HTML-Aufgabe und lassen Sie jede Publikation ihr eigenes Erscheinungsbild behalten.
Stellen Sie Werbesendungen und Bestell-bezogene E-Mails von Blöcken zusammen, die bereits wissen, wie man ein Produkt, einen Preis und einen Call-to-Action darstellt.
Lassen Sie nicht-technische Teams die E-Mail-Inhalte in einer internen Admin-Oberfläche besitzen, während die Entwickler die Komponenten und Schutzmechanismen behalten.
Es ist das Schnittfundament, nicht das fertige Produkt. Dieser Unterschied ist der Punkt: Alles darunter ist ein Aufhänger, auf dem du aufbaust, statt ein Feature, das du als gegeben annimmst.
Eine vollständige Bearbeitungsleinwand mit Auswahl, einem Komponentenbaum und einem Style-Manager – die Teile, die am längsten zum Schreiben brauchen und am schwersten richtig zu machen sind.
Definiere Komponententypen mit eigenen Eigenschaften und Markups, damit der Editor die Objekte versteht, die deine Anwendung bereits hat.
Registrieren Sie Ihre eigenen Blöcke unter Ihren eigenen Kategorien, und sie erscheinen im Block-Panel wie jedes eingebaute.
Konfiguriere die Gerätebreiten, zwischen denen Nutzer beim Bearbeiten wechseln können, und schaue jede einzelne vor, ohne die Leinwand zu verlassen.
Richte den Speichermanager auf deine eigenen Endpunkte. Laden und Speichern werden zu gewöhnlichen Anfragen an deiner API.
E-Mail-Presets, Blockpacks, Asset Manager und Storage Adapters existieren bereits, sodass du nicht jede Schicht selbst implementierst.
Panels, Buttons und Befehle sind konfigurierbar, und du kannst stattdessen eine headless Instanz über deine eigene React-Oberfläche steuern.
Die Pakete werden von npm installiert und werden in deinem Bundle ausgeliefert. Es gibt keinen Editor-Service, den man zur Laufzeit aufrufen kann, und kein Editor-Konto pro Sitz.
GrapesJS stellt die visuelle Bearbeitungsebene bereit. Ihre React-Anwendung behält die Kontrolle über Nutzer, Daten, Speicher und Veröffentlichung – das ist das ganze Argument dafür, einen Editor einzubetten, anstatt Leute an jemand anderen zu schicken.
Ihre React-Anwendung
Der Herausgeber
Dein Backend
Einen Editor in das Produkt eines anderen einzubetten, wirft eine andere Reihe von Fragen auf.
Beide Wege enden an derselben Stelle. Der einzige wirkliche Unterschied ist, wo das Modul bewertet werden darf.
Reagieren
Vite, CRA, Remix-Client-Route
@grapesjs/react
Die veröffentlichte Wrapper-Komponente
GrapesJS
Die Bearbeitungsleinwand
E-Mail-Voreinstellung
E-Mail-sichere Blöcke und Stile
Rendere die Komponente. Es gibt nichts mehr zu ordnen.
GrapesJS React-IntegrationNext.js
Seiten oder App-Router
dynamic(..., { ssr: false })
Die eine zusätzliche Zeile
Reaktionskomponente
Dein Editor-Umschlag
GrapesJS
Nur Browser
E-Mail-Voreinstellung
E-Mail-sichere Blöcke und Stile
Alles andere – API-Routen, Datenabruf, Authentifizierung – bleibt unverändert.
GrapesJS-Next.js-IntegrationDie SSR-Grenze, einmal
GrapesJS greift während der Initialisierung nach Fenster und Dokument, daher kann es nicht auf dem Server ausgewertet werden. In Next.js bedeutet das, deine Editor-Komponente über next/dynamic mit ssr: false zu importieren und ihr ein Lade-Skelett zu geben. Das sind die gesamten Next.js-spezifischen Kosten; die Seite um den Editor kann weiterhin servergerendert werden, und ihre Daten können weiterhin von getStaticProps, getServerSideProps oder einer Serverkomponente stammen.
Drei Pakete und eine Komponente. Alles danach – Speicher, benutzerdefinierte Blöcke, MJML – wird weiter unten auf der Seite abgedeckt.
npm install grapesjs @grapesjs/react grapesjs-preset-newsletterimport GjsEditor from '@grapesjs/react';
import newsletter from 'grapesjs-preset-newsletter';
import 'grapesjs/dist/css/grapes.min.css';
// A normal React component. The editor is a child of your tree, so your
// router, your auth context and your providers all still wrap it.
export default function EmailBuilder({ template, onSave }) {
return (
<GjsEditor
options={{
height: '100vh',
// Storage is wired to your own API further down this page.
storageManager: false,
plugins: [newsletter],
projectData: template,
}}
onEditor={(editor) => {
// Everything the user builds comes back out as plain data you can
// put straight into React state or POST to your backend.
editor.on('update', () => {
onSave({
html: editor.getHtml(),
css: editor.getCss(),
project: editor.getProjectData(),
});
});
}}
/>
);
}In Next.js hält ein dynamischer Import den Editor aus dem Server-Rendering heraus:
// app/emails/page.tsx (or pages/emails.tsx)
import dynamic from 'next/dynamic';
// GrapesJS reaches for window/document as it initialises, so it can only run
// in the browser. In Next.js that means one dynamic import with ssr: false —
// this is the whole of the Next.js-specific work.
const EmailBuilder = dynamic(() => import('@/components/EmailBuilder'), {
ssr: false,
loading: () => <EditorSkeleton />,
});
export default function EmailsPage({ template }) {
return <EmailBuilder template={template} onSave={saveTemplate} />;
}Die oben genannten Versionen wurden mit den veröffentlichten Paketen auf 2026-09-03 abgeglichen: grapesjs 0.23.6 ist BSD-3-Clause; @grapesjs/react ist MIT.
Diese stammen aus dem Editor-Kern und dessen E-Mail-Voreinstellungen, nicht von etwas, das du schreiben musst.
Nutzer verschieben Bereiche in der E-Mail und fügen neue Bereiche aus dem Blockfeld ein.
Text, Bilder und Buttons werden dort bearbeitet, wo sie liegen, wobei der Inline-Editor gegen einen bereits lizenzierten Editor ausgetauscht werden kann.
Zeilen, Spalten und Abschnitte, die aus der Tabelle mit Markup aufgebaut sind, erwarten E-Mail-Clients eher CSS als modernes Layout.
Wechsle beim Bearbeiten zwischen konfigurierten Gerätebreiten, damit ein Layout vor dem Versand als "schmal" überprüft werden kann.
Komponententypen definierst du, mit ihren eigenen Eigenschaften und ihrem eigenen gerenderten Markup.
Eine Palette von fertigen Abschnitten, aus denen Ihre Nutzer zusammenstellen, gruppiert in von Ihnen benannten Kategorien.
Ein Asset-Manager für Bilder, dessen Plugins auf deinen eigenen Speicher oder einen bereits genutzten Mediendienst zeigen können.
Eine Befehlsgeschichte, also ist das Experimentieren mit einem Design keine Einbahnstraße.
MJML existiert, um responsive E-Mail-Markups von Hand schreibbar zu machen. Ein visueller Builder darauf sorgt dafür, dass niemand das tun muss. GrapesJS enthält MJML nicht im Kern – ein Plugin fügt MJML-Komponenten in den Editor hinzu, sodass das Projekt zu MJML statt zu einfachem HTML serialisiert.
Wo die Kompilierung stattfindet
// pages/api/email/compile.ts
//
// mjml is a Node package — it parses and renders on the server, not in the
// browser. So the editor produces MJML in the client and this route turns it
// into the table-based HTML that email clients actually accept.
import mjml2html from 'mjml';
export default function handler(req, res) {
const { html, errors } = mjml2html(req.body.mjml, {
validationLevel: 'soft',
keepComments: false,
});
// MJML reports what it could not understand rather than failing silently.
if (errors.length) console.warn('[mjml]', errors);
res.status(200).json({ html });
}Der Compiler ist ein Node-Paket, daher gehört die Kompilierung auf den Server – Next.js eine gewöhnliche API-Route. Die umgekehrte Richtung ist nicht symmetrisch: Beliebiges HTML wird nicht sauber in MJML zurückkonvertiert, also wählen Sie das Format, das Ihr Workflow benötigt, bevor Sie darauf aufbauen.
Der Editor gibt deinem Code drei verschiedene Dinge, und eine React-Anwendung möchte normalerweise alle drei zu unterschiedlichen Zeitpunkten haben.
editor.getHtml() + getCss()
Die gerenderte E-Mail, tabellenbasiert und im Inline-Stil, wenn ein E-Mail-Preset aktiv ist. Das ist das, was du an einen sendenden Anbieter weitergibst.
mit dem MJML-Plugin
Das Quelldokument, wenn dein Workflow um MJML herum aufgebaut ist. Kompiliere es auf dem Server, um das HTML zu erhalten, das du tatsächlich schickst.
editor.getProjectData()
Das editierbare Projekt. Speichere es so, dass ein Nutzer eine Vorlage Monate später wieder öffnen kann und es genau so zurückkommt, wie er es verlassen hat.
Gerendertes Markup und editierbares Projekt sind verschiedene Artefakte mit unterschiedlichen Lebensdauern. Speichere das JSON; generiere das HTML neu.
Hier zieht ein Embedded-Builder einem generischen E-Mail-Tool voraus: Die Blöcke können über Ihre Domain Bescheid wissen. Ein Block ist kein Bild einer Produktkarte – er kann das Produkt nachschlagen.
Ihr Antrag
E-Mail-Builder
Um genau zu sein, was das ist: Eine beliebige React-Komponente wird nicht in eine E-Mail-Komponente umgewandelt. JSX rendert einen DOM-Baum, und E-Mail-Clients akzeptieren den Großteil davon nicht. Was du schreibst, ist ein GrapesJS-Komponententyp, dessen ToHTML e-Mail-sicheres Markup ausbreitet und dessen Traits auf einen Datensatz abgebildet werden, den deine Anwendung besitzt. Die Verkabelung gehört dir; der Editor stellt den Platz zur Verfügung.
Reduziere repetitive Designarbeit, indem du die Abschnitte versendest, die dein Produkt tatsächlich sendet, statt eines generischen Sets, das deine Nutzer jedes Mal anpassen müssen.
Logo, Wortmarke und Vorkopftext sind auf das Layout festgelegt, das Ihre Markenrichtlinien vorgeben.
Die eine Nachricht, die die E-Mail abgeben soll, ist so dimensioniert, dass sie ein schmales Sichtfenster übersteht.
Der Abschnitt über das Arbeitspferd: ein visuelles Bild mit einem Absatz darunter oder daneben.
Ein Domain-Block, der mit deinem Katalog verbunden ist, statt eines Platzhalters, den jemand ausfüllt.
Stufen und Zahlen stammen aus deinen Abrechnungsdaten, daher ist eine Preisänderung keine Vorlagenänderung.
Eine wiederholbare Liste von Punkten, angeordnet mit Tabellen, damit sie Outlook überlebt.
Ein kugelsicherer Schaltfläche mit der Polsterung und den Notfallmöglichkeiten, die jeder Kunde braucht.
Adressieren, Präferenzen und Abmelden – die Teile, um die Compliance geht, bleiben außerhalb der Hände des Nutzers.
Eine Vorlage ist einfach ein gespeichertes Projektdokument, daher bedeutet das Ausliefern einer Starterbibliothek, dass Zeilen geseedet und eine als projectData geladen werden, wenn ein Benutzer sie auswählt. Das sind die Kategorien, die die meisten Produkte am Ende benötigen:
Häufige Ausgangspunkte
Dies sind Layout-Kategorien, keine zum Verkauf stehenden Produkte. GJS.Market listet E-Mail-Presets, Blockpacks und Vorlagenmanager auf – es verkauft keine fertigen E-Mail-Designs, und diese Seite zeigt Ihnen keine Karten für Produkte an, die nicht existieren.
Nutzer wechseln die Gerätebreite beim Bearbeiten, und die Leinwand wird auf dieser Breite neu gestaltet. E-Mail-Breiten sind schmaler als Web-Breiten: 600px ist seit Jahren das sichere Desktop-Maximum.
Was Benutzer pro Breite ändern können
Eine Vorschau ist eine Vorschau. Sie zeigt, wie das Markup neu fließt, nicht wie ein bestimmter Client es rendert – das ist der nächste Abschnitt.
E-Mail-Clients implementieren HTML und CSS unterschiedlich und tun das seit zwanzig Jahren. Ein Visual Builder standardisiert den Autoren-Workflow; er zwingt die Kunden nicht dazu, sich gegenseitig zu einigen.
Der Dokumentenkopf wird in mehreren Kontexten abgeschnitten, sodass Stile, die überleben müssen, in der Reihe sein müssen.
Rendert in einigen Versionen über Word unter Windows, weshalb die E-Mail-Markierung weiterhin tabellenbasiert ist.
Der zulassendste der vier und daher der am wenigsten nützliche als einziger Test.
Sein eigener Umgang mit Medienanfragen und Überschriften; es lohnt sich, zu prüfen, ob es in deinem Publikum sinnvoll ist.
Deshalb wird diese Seite Ihnen nicht sagen, dass sie überall perfekt funktioniert. Tabellenbasierte Ausgaben mit Inline-Stilen sind der vorhersehbarste Ausgangspunkt, und Produktions-E-Mails sollten weiterhin in den Clients getestet werden, die Ihre eigenen Empfänger tatsächlich nutzen.
Verbinde den Editor mit dem Backend und dem Datenmodell, das du bereits hast. Deine Nutzer, deine Authentifizierung, deine Datenbank, deine Berechtigungen und dein Veröffentlichungs-Workflow bleiben genau dort, wo sie sind.
Die Hin- und Rückreise
// The editor asks your API for a template and hands it back on save.
// Your users, your auth, your database, your permissions — unchanged.
const options = {
storageManager: {
type: 'remote',
autosave: true,
stepsBeforeSave: 5,
options: {
remote: {
urlStore: `/api/email-templates/${templateId}`,
urlLoad: `/api/email-templates/${templateId}`,
// Your existing session cookie is all the auth it needs.
fetchOptions: { credentials: 'include' },
},
},
},
};
// pages/api/email-templates/[id].ts — an ordinary Next.js route handler.
export default async function handler(req, res) {
const session = await getSession(req);
if (!session) return res.status(401).end();
if (req.method === 'POST') {
await db.emailTemplate.update({
where: { id: req.query.id, orgId: session.orgId },
data: { project: req.body },
});
return res.status(200).json({ ok: true });
}
const row = await db.emailTemplate.findFirst({
where: { id: req.query.id, orgId: session.orgId },
});
return res.status(200).json(row?.project ?? {});
}GJS.Market hostet deine Vorlagen nicht, speichert deine Daten nicht und sendet keine E-Mails. Es verkauft Plugins für einen Editor, den du selbst betreibst.
Passe das Bearbeitungserlebnis so an, bis es als nativer Teil deiner React-Anwendung gelesen wird und nicht als ein Third-Party-Panel, das darin eingeschraubt ist. Es gibt von vornherein kein Herstellerbranding, das entfernt werden muss.
Was der Nutzer sieht
Was du ändern kannst
Die gründlichste Version ist, den Editor headless auszuführen und die gesamte Benutzeroberfläche selbst in React zu bauen, wobei der Editor nur für die Leinwand und das Modell verwendet wird.
Es ist eine sinnvolle Entscheidung, bis die Liste der Teile aufgeschrieben ist. Jeder folgende Punkt ist etwas, das ein E-Mail-Editor braucht, bevor es nutzbar ist – kein Nett-zu-haben.
Woraus ein E-Mail-Editor gemacht ist,
Bau alles selbst
Jede Zeile oben
Fang mit GrapesJS an
Die Redaktionsgrundlage
Baue dein E-Mail-Produkt — nicht noch einen Editor von Grund auf. Wir nennen dafür bewusst keine Zahl eingesparter Monate: wie lange es dein Team kosten würde, hängt von deinem Team ab.
Jedes untenstehende Angebot ist ein echtes Produkt mit einer Live-Seite, dessen Name, Preis und Thumbnail direkt aus dem Katalog gerendert werden – daher darf auf dieser Seite nichts mit dem tatsächlich zum Verkauf stehenden Produkt abweichen.
Die Ebene, um die sich diese Seite dreht: React-Oberflächen, die um den Editor-Kern herum gebaut sind, für Teams, die möchten, dass die umliegende Benutzeroberfläche React ist und nicht die Standard-Panels.
Durchstöbern Sie diese KategorieEine React-Oberfläche rund um den Editor für Teams, die lieber Komponenten erweitern als Panels konfigurieren.
Ein React-orientiertes Preset, das als Ausgangspunkt dient, wenn die umliegende Anwendung bereits React ist.
Eine vollständige React-Oberfläche, die auf einer vertrauten Komponentenbibliothek basiert, für Produkte, die möchten, dass der Editor dem Rest ihrer Benutzeroberfläche entspricht.
Ersetzen Sie die Standard-Webblöcke durch e-mail-sichere und schränken Sie den Style-Manager auf Eigenschaften ein, die E-Mail-Clients ehren. Das ist es, was den Editor zu einem E-Mail-Editor macht.
Durchstöbern Sie diese KategorieFügt dem Editor MJML-Komponenten hinzu, sodass das Projekt zu MJML serialisiert und auf deinem Server zu responsivem HTML kompiliert.
Der Ausgangspunkt für E-Mails: e-Mail-sichere Blöcke, ein verengter Stil-Manager und tabellenbasierte Ausgabe.
Ein alternatives E-Mail-Preset, das es wert ist, mit dem Newsletter zu vergleichen, bevor man sich auf einen Blockwortschatz festlegt.
Fertige Abschnitte und ein Manager zum Speichern und Neuladen von Vorlagen, damit deine Nutzer nicht jede E-Mail aus Primitiven zusammenstellen.
Durchstöbern Sie diese KategorieEine größere Auswahl an fertigen E-Mail-Abschnitten, sodass Ihre Nutzer aus fertigen Teilen statt aus Primitiven zusammensetzen.
Speichern, listen und laden Sie Projekte neu – die Mechanismen hinter der Auslieferung einer Starter-Vorlagenbibliothek an Ihre Nutzer.
Für die Momente, in denen ein Entwickler das Markup eines Abschnitts sehen oder manuell bearbeiten muss.
Durchstöbern Sie diese KategorieVerdrahte den Storage Manager an ein Backend, ohne den Adapter zu schreiben, falls der von dir verwendete bereits abgedeckt ist.
Durchstöbern Sie diese KategorieBild-Upload und Medienverwaltung, die auf Dienste gerichtet sind, die bereits von Teams betrieben werden, statt auf lokale Dateien.
Durchstöbern Sie diese KategorieDas verweist auf den Asset Manager bei Cloudinary, sodass E-Mail-Bilder von einem Dienst stammen, der sie transformieren und bedienen kann.
Ein umfassenderes Upload-Erlebnis im Asset Manager, einschließlich Quellen über den lokalen Dateiwähler hinaus.
Das fertige Markup aus dem Editor zu bekommen und in das zu bringen, was als Nächstes in deiner Pipeline kommt.
Durchstöbern Sie diese KategorieVier Kombinationen, die auf reale Anforderungen abgebildet sind. Jede gezeigte Auflistung existiert – es gibt kein imaginäres Plugin, das eine Lücke in einem Diagramm füllt.
Eine erste Version: visuelle Bearbeitung, e-Mail-sichere Blocks, HTML entfernt.
Wenn dein Workflow auf MJML basiert und serverseitig kompiliert.
Kundenorientiert, mit Vorlagen und Ressourcen in der eigenen Infrastruktur.
Kampagnenvolumen: viele Vorlagen, viele Bilder, viele Autoren.
Die Preise stammen aus dem Katalog zum Bauzeitpunkt.
Dein Kunde öffnet den Builder
Eine Route in deiner App, hinter deiner Authentifizierung, auf ihrem Plan. Kein zweites Konto, kein zweiter Login.
Sie stellen eine Vorlage zusammen
Von den von dir definierten Blöcken, einschließlich solcher, die von ihren Daten in deinem Produkt wissen.
Es speichert in deiner Datenbank
Das Projektdokument läuft über deinen API-Weg und landet in einer Reihe, die zu ihrer Organisation gehört.
Eine Kampagne oder ein Workflow bezieht sich darauf
Deine Automatisierung wählt die Vorlage nach id – sie muss nicht wissen, wie der Editor funktioniert.
Dein Backend rendert und sendet
Die Zusammenführungsfelder wurden beim Senden gelöst, der Aufschlag wurde an den Anbieter weitergegeben, für den du bereits bezahlt hast.
Kunden erhalten visuelle Kontrolle über E-Mail-Inhalte. Sie behalten das Produkt, die Daten und die Lieferinfrastruktur.
Das Muster wiederholt sich bei Produkten, die sonst nichts gemeinsam haben.
Wiederverwendbare Kundenkommunikationsvorlagen, die den Teams gehören, die sie versenden.
Vorlagen wurden einmal entworfen und aus jedem Schritt eines automatisierten Workflows referenziert.
Kampagnenkomposition als visuelle Aufgabe, wobei jede Publikation ihre eigene Identität behält.
Werbe- und bestellbezogene E-Mails, die aus Blöcken bestehen, die den Katalog bereits kennen.
Ein Editor, viele Kundenmarken, jede sieht eine Benutzeroberfläche, die wie ihre eigene aussieht.
Der Editor erstellt die E-Mail. Deine Infrastruktur sendet sie. Diese Zeile klar zu halten, macht den Rest dieser Architektur einfach.
Etappe 01
Der Nutzer überarbeitet; der Editor serialisiert das, was er in ein Projektdokument eingebaut hat.
Projekt JSONEtappe 02
Speichert das Projekt gegen das Konto, dem es gehört, und rendert es, wenn etwas gesendet werden soll.
API-RouteEtappe 03
Merge-Felder gelöst, Markup erstellt – kompiliert aus MJML, falls das dein Format ist.
HTML / MJMLEtappe 04
Sie wird der bereits verwendeten Send-API übergeben, mit eigener Lieferbarkeit und Analyse.
EmpfängerBeispiele für Anbieter, die Teams an
Sie werden als Beispiele genannt, wo das Markup landet, nicht als integrierte Integrationen. Weder GrapesJS noch GJS.Market liefern für einen von ihnen einen Connector; Sie rufen deren SDK von Ihrem eigenen Backend aus, wie Sie es bereits für den Rest Ihrer E-Mail tun.
Das ist ein architektonischer Kompromiss, kein Scoreboard. Die rechte Spalte sagt ehrlich gesagt "kommt darauf an": Gastgehostete Editoren unterscheiden sich voneinander und ändern ihre Begriffe, und wir werden keine konkrete Antwort für sie erfinden.
| Leistungsfähigkeit | Selbstgehostetes GrapesJS | Gehosteter E-Mail-Editor |
|---|---|---|
| React-Integration | Ja — @grapesjs/react-Hülle | Kommt auf den Anbieter an |
| Selbsthosting | Ja – npm-Pakete in deinem Bundle | Das hängt vom Anbieter und dem Plan ab |
| Datenbesitz | Ja – deine Datenbank | Kommt auf den Anbieter an |
| Individuelle Komponenten | Ja – deine eigenen Bauteiltypen | Kommt auf den Anbieter an |
| Benutzerdefinierte Benutzeroberfläche | Ja – Panels oder eine kopflose Instanz | Kommt auf den Anbieter an |
| Plugin-Ökosystem | Ja – 100+ auf GJS.Market | Kommt auf den Anbieter an |
| Dein eigenes Backend | Ja – deine API routet | Kommt auf den Anbieter an |
| Kernlizenz | BSD-3-Clause | Proprietär |
| Händler-Lock-in | Unten – die Projektdaten gehören Ihnen | Potenziell höher |
Die GrapesJS-Spalte wurde im Vergleich zu grapesjs, 0.23.6 und @grapesjs/react auf 2026-09-03 überprüft. Für einen Vergleich mit einem bestimmten benannten Anbieter mit dessen veröffentlichten Preisen siehe die spezielle Seite.
Erhalten Sie Hilfe beim Aufbau eines produktionsbereiten React-E-Mail-Builders rund um Ihre Produktanforderungen – Ihre Komponenten, Ihr Datenmodell, Ihren Speicher und Ihren Versandanbieter.
Baue einen individuellen E-Mail-BuilderSende ein Briefing, in dem du deinen Stack, dein Datenmodell und das benötigte Ausgabeformat beschreibst, und du bekommst einen Scoped-Vorschlag zurück.
Nachbarseiten, die denselben Editor in eine andere Richtung lenken.
Das Format und die Auslieferung des Arguments: MJML ein, tabellenbasiertes HTML aus, übergeben an einen Anbieter, für den du bereits bezahlst.
Lies den LeitfadenDer Template-Library-Aspekt: Management, Versionierung und Wiederverwendung von Designs im Team.
Siehe VorlagenDerselbe Editor von Marketer-Seite, bei dem die Geste wichtiger ist als die API.
Siehe den ErbauerDer React-Wrapper für den Seitenbau im Allgemeinen, nicht nur für E-Mails.
Siehe die IntegrationBeginnen Sie mit GrapesJS, integrieren Sie es in Ihre React-Anwendung und erweitern Sie den Editor um die E-Mail-Plugins, die Ihr Produkt tatsächlich benötigt.
Installiere die Pakete, mounte die Komponente und lass noch heute einen E-Mail-Editor in deiner App laufen.
Schneller StartPresets, Blockpacks, Speicheradapter und Asset-Integrationen – echte Listings mit aktuellen Preisen.
Plugins durchsuchenEine Produktionsintegration rund um Ihre Komponenten, Ihr Datenmodell und Ihren sendenden Anbieter.
Baue einen individuellen E-Mail-Builder