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

React E-Mail-Builder

Baue einen React-E-Mail-Builder mit GrapesJS

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.

Open-Source-Kern (BSD-3-Clause)React-bereit (@grapesjs/react, MIT)SelbstgehostetErweiterbar

Baue einen individuellen E-Mail-Builder

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

Warum diese Seite

Vier Dinge, die ein React-Team tatsächlich braucht

Kein gehosteter Editor, den du mietest, und keine Vorlagengalerie. Eine Bearbeitungsebene, die du in der bereits laufenden Anwendung montierst.

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.

Visuell

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.

Erweiterbar

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.

Deine Infrastruktur

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.

Probier es mal

Sehen Sie einen React-E-Mail-Builder in Aktion

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.

app.yourproduct.com/emails/new

Blöcke

Füge der E-Mail einen Abschnitt hinzu.

Klicken Sie auf einen Abschnitt, um ihn auszuwählen, und bearbeiten oder neu gestalten

DEIN PRODUKT
Deine Veröffentlichung ist live
Fügen Sie einen Screenshot ein, schreiben Sie einen Satz darunter, und der Abschnitt ist fertig. Ihre Nutzer berühren nie das Tabellen-Markup darunter.
Öffnen Sie das Wechselprotokoll

Auswahl

Nichts wurde ausgewählt

Klicken Sie auf einen Abschnitt in der Leinwand oder fügen Sie einen aus dem Block-Panel hinzu.

Der wahre Herausgeber

Lade den eigentlichen GrapesJS-Editor

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.

In einem neuen Tab öffnen

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.

grapesjs.com/demo-newsletter-editor.htmlKostenlos

Es wird nichts angefordert, bis du klickst. Der Editor lädt dann ein iframe von seiner eigenen Seite aus.

Definition

Was ist ein React-E-Mail-Builder?

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

  1. React-Anwendung
  2. E-Mail-Builder
  3. Visuelle Bearbeitung
  4. Responsive Vorschau
  5. HTML / MJML
  6. Ihre E-Mail-Infrastruktur

Die Aufgabe des Editors besteht darin, Markup zu erstellen. Alles davor und danach ist deine Anwendung.

Warum sich die Mühe machen

Warum sollte man deiner React-App einen E-Mail-Builder hinzufügen?

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.

SaaS

Lassen Sie Kunden ihre eigenen Transaktions- und Lebenszyklus-E-Mails innerhalb Ihres Produkts in ihrem eigenen Tarif ohne Support-Ticket gestalten.

CRM

Geben Sie Vertriebs- und Erfolgsteams eine Möglichkeit, die Kundenkommunikation selbst zu gestalten, mit den Feldern und Merge-Tags, die Ihr CRM bereits offenlegt.

Marketingautomatisierung

Erstelle wiederverwendbare Vorlagen einmal und verweise sie aus jedem automatisierten Workflow, anstatt Markup pro Kampagnenschritt zu duplizieren.

Newsletter-Plattformen

Machen Sie das Verfassen eines Themas zu einer Designaufgabe statt zu einer HTML-Aufgabe und lassen Sie jede Publikation ihr eigenes Erscheinungsbild behalten.

E-Commerce

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.

Interne Werkzeuge

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.

Warum GrapesJS

Warum bauen Sie Ihren React-E-Mail-Editor mit GrapesJS?

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.

Visuelle Bearbeitung

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.

Individuelle Komponenten

Definiere Komponententypen mit eigenen Eigenschaften und Markups, damit der Editor die Objekte versteht, die deine Anwendung bereits hat.

Wiederverwendbare Blöcke

Registrieren Sie Ihre eigenen Blöcke unter Ihren eigenen Kategorien, und sie erscheinen im Block-Panel wie jedes eingebaute.

Responsive Bearbeitung

Konfiguriere die Gerätebreiten, zwischen denen Nutzer beim Bearbeiten wechseln können, und schaue jede einzelne vor, ohne die Leinwand zu verlassen.

Speicher-APIs

Richte den Speichermanager auf deine eigenen Endpunkte. Laden und Speichern werden zu gewöhnlichen Anfragen an deiner API.

Plugins

E-Mail-Presets, Blockpacks, Asset Manager und Storage Adapters existieren bereits, sodass du nicht jede Schicht selbst implementierst.

Benutzerdefinierte Benutzeroberfläche

Panels, Buttons und Befehle sind konfigurierbar, und du kannst stattdessen eine headless Instanz über deine eigene React-Oberfläche steuern.

Selbstgehostet

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.

Architektur

Wie GrapesJS in deine React-Anwendung passt

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

  • Streckenführung und Anordnung
  • Authentifizierung und Sitzungen
  • Pläne, Sitze und Genehmigungen
  • Template-Liste und Versionierung
  • Terminvereinbarung senden

Der Herausgeber

  • Leinwand und Auswahl
  • Blöcke und Komponenten
  • Style Manager
  • Gerätebreiten
  • Rückgängig machen / neu machen
  • Vermögensverwalter
  • E-Mail-Presets
  • Blockpacks
  • Speicheradapter
  • Asset-Integration
Plugins durchsuchen

Dein Backend

  • API-Routen
  • Deine Datenbank
  • Gerendertes HTML / MJML
  • Dein sendender Anbieter
Der Editor kommuniziert nie mit deiner Datenbank, und deine Datenbank muss nie wissen, wie der Editor funktioniert. Der einzige Vertrag zwischen ihnen ist ein JSON-Projektdokument und das Markup, in das es gerendert wird.

Einen Editor in das Produkt eines anderen einzubetten, wirft eine andere Reihe von Fragen auf.

Reagieren und Next.js

Verwenden Sie den E-Mail-Builder in React oder Next.js

Beide Wege enden an derselben Stelle. Der einzige wirkliche Unterschied ist, wo das Modul bewertet werden darf.

React SPA

  1. Reagieren

    Vite, CRA, Remix-Client-Route

  2. @grapesjs/react

    Die veröffentlichte Wrapper-Komponente

  3. GrapesJS

    Die Bearbeitungsleinwand

  4. E-Mail-Voreinstellung

    E-Mail-sichere Blöcke und Stile

Rendere die Komponente. Es gibt nichts mehr zu ordnen.

GrapesJS React-Integration

Next.js

  1. Next.js

    Seiten oder App-Router

  2. dynamic(..., { ssr: false })

    Die eine zusätzliche Zeile

  3. Reaktionskomponente

    Dein Editor-Umschlag

  4. GrapesJS

    Nur Browser

  5. E-Mail-Voreinstellung

    E-Mail-sichere Blöcke und Stile

Alles andere – API-Routen, Datenabruf, Authentifizierung – bleibt unverändert.

GrapesJS-Next.js-Integration

Die 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.

Schneller Start

Beginnen Sie mit dem Bau eines React-E-Mail-Builders

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-newsletter
EmailBuilder.jsxJS
import 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.tsxJS
// 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} />;
}
  1. Initialisieren Sie den Editor innerhalb einer React-Komponente
  2. Füge ein E-Mail-Preset hinzu, damit die Blöcke und Stile e-mail-sicher sind
  3. Registrieren Sie die Blöcke, die Ihr Produkt benötigt
  4. Konfigurieren Sie den Speicher an Ihrer eigenen API
  5. HTML exportieren oder MJML auf dem Server kompilieren
  6. Übergeben Sie das Ergebnis Ihrem sendenden Anbieter

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.

Editor-Funktionen

Alles, was Sie für die visuelle E-Mail-Bearbeitung brauchen

Diese stammen aus dem Editor-Kern und dessen E-Mail-Voreinstellungen, nicht von etwas, das du schreiben musst.

Drag & Drop

Nutzer verschieben Bereiche in der E-Mail und fügen neue Bereiche aus dem Blockfeld ein.

Reichhaltiger Inhalt

Text, Bilder und Buttons werden dort bearbeitet, wo sie liegen, wobei der Inline-Editor gegen einen bereits lizenzierten Editor ausgetauscht werden kann.

Layouts

Zeilen, Spalten und Abschnitte, die aus der Tabelle mit Markup aufgebaut sind, erwarten E-Mail-Clients eher CSS als modernes Layout.

Responsives Design

Wechsle beim Bearbeiten zwischen konfigurierten Gerätebreiten, damit ein Layout vor dem Versand als "schmal" überprüft werden kann.

Wiederverwendbare Bauteile

Komponententypen definierst du, mit ihren eigenen Eigenschaften und ihrem eigenen gerenderten Markup.

Blöcke

Eine Palette von fertigen Abschnitten, aus denen Ihre Nutzer zusammenstellen, gruppiert in von Ihnen benannten Kategorien.

Vermögenswerte

Ein Asset-Manager für Bilder, dessen Plugins auf deinen eigenen Speicher oder einen bereits genutzten Mediendienst zeigen können.

Rückgängig machen / neu machen

Eine Befehlsgeschichte, also ist das Experimentieren mit einem Design keine Einbahnstraße.

MJML

Erstellen Sie responsive E-Mails mit MJML

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

  1. React-App
  2. GrapesJS + MJML Plugin
  3. MJML-Dokument
  4. Ihre API-Route
  5. HTML-E-Mail
  6. Dein sendender Anbieter
Seiten/API/E-Mail/compile.ts
// 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.

Ausgabe

Kontrolliere deine E-Mail-Ausgabe

Der Editor gibt deinem Code drei verschiedene Dinge, und eine React-Anwendung möchte normalerweise alle drei zu unterschiedlichen Zeitpunkten haben.

editor.getHtml() + getCss()

HTML

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

MJML

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()

JSON

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.

Individuelle Komponenten

Wandeln Sie die Daten, die Ihre App bereits hat, in E-Mail-Blöcke um

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

  • ProduktProduktblockBild, Name und Preis aus der Platte entnommen
  • KundePersonalisierte BegrüßungMerge-Felder, die dein Backend zur Sendzeit auflöst.
  • BestellungBlock der Zusammenfassung der BestellungZeileneinträge, die als e-mail-sichere Tabelle gerendert werden
  • VeranstaltungDynamischer Aufruf zum Handelnein Link, der aus dem Ereignis basiert, nicht von Hand getippt
  • PlanPreisblockStufen, die aus Ihrem Abrechnungskatalog erstellt wurden

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.

Blockbibliothek

Geben Sie den Nutzern eine Bibliothek von einsatzbereiten E-Mail-Blöcken

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.

Header

Logo, Wortmarke und Vorkopftext sind auf das Layout festgelegt, das Ihre Markenrichtlinien vorgeben.

Held

Die eine Nachricht, die die E-Mail abgeben soll, ist so dimensioniert, dass sie ein schmales Sichtfenster übersteht.

Bild + Text

Der Abschnitt über das Arbeitspferd: ein visuelles Bild mit einem Absatz darunter oder daneben.

Produktkarte

Ein Domain-Block, der mit deinem Katalog verbunden ist, statt eines Platzhalters, den jemand ausfüllt.

Preisgestaltung

Stufen und Zahlen stammen aus deinen Abrechnungsdaten, daher ist eine Preisänderung keine Vorlagenänderung.

Merkmale

Eine wiederholbare Liste von Punkten, angeordnet mit Tabellen, damit sie Outlook überlebt.

Aufruf zum Handeln

Ein kugelsicherer Schaltfläche mit der Polsterung und den Notfallmöglichkeiten, die jeder Kunde braucht.

Fuß

Adressieren, Präferenzen und Abmelden – die Teile, um die Compliance geht, bleiben außerhalb der Hände des Nutzers.

Vorlagen

Beginnen Sie mit einer fertigen E-Mail

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

  • Newsletter
  • Willkommen
  • Beförderung
  • Produktankündigung
  • E-Commerce
  • SaaS-Lebenszyklus
  • Transaktional

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.

Responsive

Design für Desktop und Mobilgeräte

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.

Desktop600px
Tablet480px
Mobil320px

Was Benutzer pro Breite ändern können

  • Schriftgröße
  • Polsterung
  • Ausrichtung
  • Säulenstapelung
  • Bildbreite
  • Sektionssichtbarkeit

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

Bauen Sie mit echten E-Mail-Clients im Hinterkopf

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.

Gmail

Der Dokumentenkopf wird in mehreren Kontexten abgeschnitten, sodass Stile, die überleben müssen, in der Reihe sein müssen.

Ausblick

Rendert in einigen Versionen über Word unter Windows, weshalb die E-Mail-Markierung weiterhin tabellenbasiert ist.

Apple Mail

Der zulassendste der vier und daher der am wenigsten nützliche als einziger Test.

Yahoo Mail

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.

Deine Daten

Bewahre deine E-Mail-Daten in deinem eigenen Backend auf

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

  1. React E-Mail-Builder
  2. Projektdaten (JSON)
  3. Ihre API-Route
  4. Deine Datenbank
  5. Ihr Antrag
Speicher + Seiten/API/E-Mail-Vorlagen/[ID].tsJS
// 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.

White-Label

Machen Sie den E-Mail-Builder zu einem Teil Ihres Produkts

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

  1. Deine Marke
  2. Ihre Navigation
  3. Ihr E-Mail-Builder
  4. Deine Komponenten
  5. Deine Vorlagen

Was du ändern kannst

  • Werkzeugleiste und Schaltflächen
  • Tafeln und ihr Aufbau
  • Blockpalette und Kategorien
  • Komponententypen und -merkmale
  • Style-Manager-Sektoren
  • Befehle und Tastenkürzel
  • Die umgebende React-Benutzeroberfläche

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.

Bau vs. Kauf

Einen React-E-Mail-Editor von Grund auf bauen?

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,

  • Leinwand bearbeiten
  • Auswahl und Treffertests
  • Drag & Drop
  • Komponentenmodell
  • Blocksystem
  • Style Manager
  • Reaktionsschnelle Steuerung
  • Vermögensverwalter
  • Template-Speicherung
  • Geschichte rückgängig machen / neu machen
  • Serialisierung
  • HTML-Export
  • MJML-Integration
  • Vorschau
  • Laufende Wartung

Bau alles selbst

Jede Zeile oben

  • Du besitzt jedes Teilsystem, einschließlich der langweiligen
  • Die Eigenheiten von E-Mail-Clients werden zum dauerhaften Problem Ihres Teams
  • Der Editor konkurriert mit deinem eigentlichen Produkt um die Roadmap
  • Keine anderen Plugins können dir helfen

Fang mit GrapesJS an

Die Redaktionsgrundlage

  • Leinwand, Komponenten, Blöcke, Stile, Assets und Storage existieren
  • E-Mail-Presets kodieren bereits die tabellenbasierten Ausgaberegeln
  • Plugins decken Speicher, Assets und Export ab
  • Du schreibst nur die Teile, die spezifisch für dein Produkt sind

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.

Plugins

Erweitern Sie Ihren React-E-Mail-Builder mit GJS.Market

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.

Stapel

Baue den React-E-Mail-Builder, den du brauchst

Vier 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.

Die Preise stammen aus dem Katalog zum Bauzeitpunkt.

Anwendungsfall

Fügen Sie Ihrer SaaS visuelle E-Mail-Bearbeitung hinzu

  1. 1
    1

    Dein Kunde öffnet den Builder

    Eine Route in deiner App, hinter deiner Authentifizierung, auf ihrem Plan. Kein zweites Konto, kein zweiter Login.

  2. 2
    2

    Sie stellen eine Vorlage zusammen

    Von den von dir definierten Blöcken, einschließlich solcher, die von ihren Daten in deinem Produkt wissen.

  3. 3
    3

    Es speichert in deiner Datenbank

    Das Projektdokument läuft über deinen API-Weg und landet in einer Reihe, die zu ihrer Organisation gehört.

  4. 4
    4

    Eine Kampagne oder ein Workflow bezieht sich darauf

    Deine Automatisierung wählt die Vorlage nach id – sie muss nicht wissen, wie der Editor funktioniert.

  5. 5
    5

    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.

Für wen ist das

Teams, die das am Ende aufbauen

Das Muster wiederholt sich bei Produkten, die sonst nichts gemeinsam haben.

CRM

Wiederverwendbare Kundenkommunikationsvorlagen, die den Teams gehören, die sie versenden.

Marketingautomatisierung

Vorlagen wurden einmal entworfen und aus jedem Schritt eines automatisierten Workflows referenziert.

Newsletter-Plattformen

Kampagnenkomposition als visuelle Aufgabe, wobei jede Publikation ihre eigene Identität behält.

E-Commerce

Werbe- und bestellbezogene E-Mails, die aus Blöcken bestehen, die den Katalog bereits kennen.

Agenturen und White-Label

Ein Editor, viele Kundenmarken, jede sieht eine Benutzeroberfläche, die wie ihre eigene aussieht.

Lieferung

Verbinden Sie den Builder mit Ihrer E-Mail-Infrastruktur

Der Editor erstellt die E-Mail. Deine Infrastruktur sendet sie. Diese Zeile klar zu halten, macht den Rest dieser Architektur einfach.

  1. Etappe 01

    React E-Mail-Builder

    Der Nutzer überarbeitet; der Editor serialisiert das, was er in ein Projektdokument eingebaut hat.

    Projekt JSON
  2. Etappe 02

    Dein Backend

    Speichert das Projekt gegen das Konto, dem es gehört, und rendert es, wenn etwas gesendet werden soll.

    API-Route
  3. Etappe 03

    Gerenderte E-Mail

    Merge-Felder gelöst, Markup erstellt – kompiliert aus MJML, falls das dein Format ist.

    HTML / MJML
  4. Etappe 04

    Dein Versorger

    Sie wird der bereits verwendeten Send-API übergeben, mit eigener Lieferbarkeit und Analyse.

    Empfänger
Ein JSON-Dokument in deiner Datenbank, ein Render-Schritt, ein Provider-Aufruf. Nichts in dieser Kette gehört einem Editor-Anbieter.

Beispiele für Anbieter, die Teams an

  • Amazon SES
  • SendGrid
  • Kettengewehr
  • Poststempel

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.

Vergleich

React Email Builder: Build vs. hosted Editor

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ähigkeitSelbstgehostetes GrapesJSGehosteter E-Mail-Editor
React-IntegrationJa — @grapesjs/react-HülleKommt auf den Anbieter an
SelbsthostingJa – npm-Pakete in deinem BundleDas hängt vom Anbieter und dem Plan ab
DatenbesitzJa – deine DatenbankKommt auf den Anbieter an
Individuelle KomponentenJa – deine eigenen BauteiltypenKommt auf den Anbieter an
Benutzerdefinierte BenutzeroberflächeJa – Panels oder eine kopflose InstanzKommt auf den Anbieter an
Plugin-ÖkosystemJa – 100+ auf GJS.MarketKommt auf den Anbieter an
Dein eigenes BackendJa – deine API routetKommt auf den Anbieter an
KernlizenzBSD-3-ClauseProprietär
Händler-Lock-inUnten – die Projektdaten gehören IhnenPotenziell 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.

Individuelle Entwicklung

Willst du die Integration nicht selbst bauen?

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-Builder

Sende ein Briefing, in dem du deinen Stack, dein Datenmodell und das benötigte Ausgabeformat beschreibst, und du bekommst einen Scoped-Vorschlag zurück.

FAQ

Fragen zum React Email Builder

Verwandte Themen

Baue deinen React-E-Mail-Editor. Besitze die Erfahrung.

Nachbarseiten, die denselben Editor in eine andere Richtung lenken.

Leg los.

Baue den React-E-Mail-Builder, den dein Produkt benötigt

Beginnen 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.

Kostenlos

Beginnen Sie mit dem Bau

Installiere die Pakete, mounte die Komponente und lass noch heute einen E-Mail-Editor in deiner App laufen.

Schneller Start
Marktplatz

E-Mail-Plugins durchsuchen

Presets, Blockpacks, Speicheradapter und Asset-Integrationen – echte Listings mit aktuellen Preisen.

Plugins durchsuchen