React ईमेल बिल्डर

एक React ईमेल बिल्डर बनाएं GrapesJS के साथ

अपने React या Next.js एप्लिकेशन में एक अनुकूलन योग्य विज़ुअल ईमेल संपादक एम्बेड करें। अपने उपयोगकर्ताओं को पुनः प्रयोज्य ब्लॉक, कस्टम घटकों और MJML या HTML निर्यात के साथ उत्तरदायी ईमेल टेम्पलेट बनाने दें - जबकि आपका उत्पाद अपने स्वयं के उपयोगकर्ताओं, डेटा और भेजने के बुनियादी ढांचे को रखता है।

ओपन सोर्स कोर (BSD-3-Clause)React-तैयार (@grapesjs/react, MIT)स्व-होस्टेडएक्स्टेंसिबल

एक कस्टम ईमेल बिल्डर बनाएं

26k+

संपादक कोर पर GitHub सितारे

1.4M+

npm एक महीने में डाउनलोड

100+

प्लगइन्स और प्रीसेट GJS.Market पर

BSD-3-Clause

संपादक कोर का लाइसेंस

यह पृष्ठ क्यों

एक React टीम को वास्तव में चार चीजों की आवश्यकता होती है

एक होस्ट किया गया संपादक नहीं जिसे आप किराए पर लेते हैं, और टेम्पलेट गैलरी नहीं। एक संपादन परत जिसे आप पहले से चलाते हैं उस एप्लिकेशन के अंदर माउंट करते हैं।

React

संपादक आपके पेड़ में एक घटक के रूप में माउंट होता है। आपका राउटर, आपके प्रदाता और आपका प्रमाणीकरण संदर्भ अभी भी इसे लपेटते हैं, और इसकी स्थिति किसी भी अन्य घटक की तरह React में वापस प्रवाहित होती है।

दृश्‍य

आपके उपयोगकर्ता किसी डेवलपर को लेआउट का वर्णन करने या हाथ से टेबल मार्कअप से लड़ने के बजाय, ब्लॉक चुनकर और टेक्स्ट को संपादित करके ईमेल असेंबल करते हैं।

एक्स्टेंसिबल

Components, ब्लॉक, पैनल और कमांड सभी परिभाषित करने के लिए आपके हैं। संपादन अनुभव के वे हिस्से जो आपके उत्पाद के लिए विशिष्ट हैं, आपके द्वारा लिखे जा सकते हैं।

आपका बुनियादी ढांचा

टेम्प्लेट आपके अपने API के माध्यम से आपके अपने डेटाबेस में सहेजे जाते हैं, और जिस भी प्रदाता के लिए आप पहले से भुगतान करते हैं, उसके द्वारा भेजे जाते हैं। यहां कुछ भी रनटाइम पर संपादक सेवा नहीं कहता है।

इसे अजमाएं

एक React ईमेल बिल्डर को कार्रवाई में देखें

यह कैनवास इस पृष्ठ पर चलने वाला एक React घटक है - कोई संपादक बंडल नहीं, कोई iframe नहीं। कोई ब्लॉक जोड़ें, उसे चुनने के लिए किसी भी अनुभाग पर क्लिक करें, टेक्स्ट को उस स्थान पर फिर से टाइप करें, इसे फिर से स्टाइल करें, इसे पुनः व्यवस्थित करें, और डेस्कटॉप, टैबलेट और मोबाइल के बीच पूर्वावलोकन को स्विच करें। यह देखने के लिए HTML टैब खोलें कि ईमेल बिल्डर आपके कोड पर किस प्रकार का मार्कअप देता है।

app.yourproduct.com/emails/new

ब्लॉक

ईमेल में एक अनुभाग जोड़ें।

किसी अनुभाग का चयन करने के लिए उस पर क्लिक करें, फिर उसे संपादित करें या उसे फिर से स्टाइल करें

आपका उत्पाद
आपकी रिहाई लाइव है
एक स्क्रीनशॉट डालें, उसके नीचे एक वाक्य लिखें, और अनुभाग पूरा हो गया। आपके उपयोगकर्ता नीचे दिए गए टेबल मार्कअप को कभी नहीं छूते हैं।
चेंजलॉग खोलें

संग्रह

कुछ भी नहीं चुना गया

कैनवास में किसी अनुभाग पर क्लिक करें या ब्लॉक पैनल से एक अनुभाग जोड़ें.

असली संपादक

वास्तविक GrapesJS संपादक लोड करें

जब तक आप इसके लिए नहीं पूछते तब तक लोड से नीचे कुछ भी नहीं होता है: इस पृष्ठ के iframe में कोई HTML नहीं है, और एक समय में केवल एक डेमो लगाया जाता है। ये उनके लेखकों द्वारा होस्ट किए गए सार्वजनिक डेमो हैं।

एक नए टैब में खोलें

न्यूज़लेटर प्रीसेट: ईमेल-सुरक्षित ब्लॉक, एक प्रतिबंधित स्टाइल मैनेजर और टेबल-आधारित आउटपुट। यह आपके उपयोगकर्ताओं को जो दिखाई देगा उसके सबसे करीब है।

grapesjs.com/demo-newsletter-editor.htmlनिःशुल्क

जब तक आप क्लिक नहीं करते तब तक कुछ भी अनुरोध नहीं किया जाता है। संपादक तब अपनी साइट से iframe लोड करता है।

परिभाषा

React ईमेल बिल्डर क्या है?

एक React ईमेल बिल्डर एक विज़ुअल एडिटर है जो React एप्लिकेशन के अंदर चलता है और उपयोगकर्ताओं को हाथ से HTML ईमेल मार्कअप लिखे बिना ईमेल टेम्पलेट बनाने और अनुकूलित करने देता है। यह एक अलग उत्पाद नहीं है जिसमें आपके उपयोगकर्ता लॉग इन करते हैं: यह आपके ऐप में एक घटक है, इसलिए टेम्प्लेट, उनके मालिक खाते और उन्हें भेजने वाला बुनियादी ढांचा सभी आपके पक्ष में रहते हैं।

इससे क्या गुजरता है

  1. React आवेदन
  2. ईमेल बिल्डर
  3. दृश्य संपादन
  4. उत्तरदायी पूर्वावलोकन
  5. HTML / MJML
  6. आपका ईमेल बुनियादी ढांचा

संपादक का काम मार्कअप बनाने पर समाप्त होता है। इससे पहले और बाद में सब कुछ आपका आवेदन है।

परेशान क्यों हों

अपने React ऐप में एक ईमेल बिल्डर क्यों जोड़ें?

इनमें से प्रत्येक में, विकल्प यह है कि एक डेवलपर हर बार जब व्यवसाय में कोई बदलाव चाहता है तो हाथ से एक टेम्पलेट संपादित करता है।

SaaS

ग्राहकों को अपने स्वयं के लेन-देन और जीवनचक्र ईमेल को आपके उत्पाद के अंदर, अपनी योजना पर, बिना समर्थन टिकट के डिजाइन करने दें।

सीआरएम

बिक्री और सफलता टीमों को ग्राहक संचार को स्वयं आकार देने का एक तरीका दें, फ़ील्ड और मर्ज टैग के साथ जो आपके CRM पहले से ही उजागर करते हैं।

विपणन स्वचालन

एक बार पुनः प्रयोज्य टेम्पलेट बनाएं और उन्हें प्रत्येक स्वचालित वर्कफ़्लो से संदर्भित करें, बजाय इसके कि प्रत्येक अभियान चरण में मार्कअप को डुप्लिकेट करें.

न्यूज़लेटर प्लेटफ़ॉर्म

किसी मुद्दे की रचना को HTML कार्य के बजाय एक डिज़ाइन कार्य बनाएं, और प्रत्येक प्रकाशन को अपना रूप बनाए रखने दें।

ईकॉमर्स

उन ब्लॉकों से प्रचार भेजने और ऑर्डर से संबंधित ईमेल इकट्ठा करें जो पहले से ही जानते हैं कि किसी उत्पाद, मूल्य और कॉल टू एक्शन को कैसे प्रस्तुत किया जाए।

आंतरिक उपकरण

गैर-तकनीकी टीमों को आंतरिक व्यवस्थापक सतह में ईमेल सामग्री का मालिक होने दें, जबकि डेवलपर्स घटकों और रेलिंग को रखते हैं।

क्यों GrapesJS

React के साथ अपना GrapesJS ईमेल संपादक क्यों बनाएं?

यह संपादन नींव है, तैयार उत्पाद नहीं। वह अंतर बिंदु है: नीचे दी गई हर चीज एक हुक है जिसे आप एक ऐसी सुविधा के बजाय बनाते हैं जिसे आप स्वीकार करते हैं।

दृश्य संपादन

चयन के साथ एक पूर्ण संपादन कैनवास, एक घटक वृक्ष और एक स्टाइल मैनेजर - वे हिस्से जिन्हें लिखने में सबसे अधिक समय लगता है और सही होना सबसे कठिन होता है।

कस्टम घटक

घटक प्रकारों को उनके स्वयं के traits और अपने स्वयं के मार्कअप के साथ परिभाषित करें, ताकि संपादक आपके एप्लिकेशन के पास पहले से मौजूद वस्तुओं को समझ सके।

पुनः प्रयोज्य ब्लॉक

अपने स्वयं के ब्लॉक को अपनी श्रेणियों के तहत पंजीकृत करें और वे किसी भी अंतर्निहित की तरह ब्लॉक पैनल में दिखाई देते हैं।

उत्तरदायी संपादन

डिवाइस की चौड़ाई को कॉन्फ़िगर करें जिसके बीच उपयोगकर्ता संपादन करते समय स्विच कर सकते हैं, और कैनवास को छोड़े बिना प्रत्येक का पूर्वावलोकन कर सकते हैं।

स्टोरेज एपीआई

भंडारण प्रबंधक को अपने स्वयं के समापन बिंदुओं पर इंगित करें। लोडिंग और सेविंग आपके API के खिलाफ सामान्य अनुरोध बन जाते हैं।

प्लगइन्स

ईमेल प्रीसेट, ब्लॉक पैक, एसेट मैनेजर और स्टोरेज एडेप्टर पहले से मौजूद हैं, इसलिए आप हर परत को स्वयं लागू नहीं कर रहे हैं।

कस्टम UI

पैनल, बटन और कमांड कॉन्फ़िगर करने योग्य हैं, और आप इसके बजाय अपने स्वयं के React इंटरफ़ेस से हेडलेस इंस्टेंस चला सकते हैं।

स्व-होस्टेड

पैकेज npm से स्थापित होते हैं और आपके बंडल में शिप होते हैं। रनटाइम पर कॉल करने के लिए कोई संपादक सेवा नहीं है और कोई प्रति-सीट संपादक खाता नहीं है।

स्‍थापत्‍यशैली

GrapesJS आपके React एप्लिकेशन में कैसे फिट बैठता है

GrapesJS दृश्य संपादन परत प्रदान करता है। आपका React एप्लिकेशन उपयोगकर्ताओं, डेटा, भंडारण और प्रकाशन के नियंत्रण में रहता है - जो कि लोगों को किसी और के पास भेजने के बजाय एक संपादक को एम्बेड करने का पूरा तर्क है।

आपका React आवेदन

  • रूटिंग और लेआउट
  • प्रमाणीकरण और सत्र
  • योजनाएं, सीटें और अनुमतियां
  • टेम्पलेट सूची और संस्करण
  • शेड्यूलिंग भेजें

संपादक

  • कैनवास और चयन
  • Blocks और घटक
  • शैली प्रबंधक
  • डिवाइस की चौड़ाई
  • पूर्ववत करें / फिर से करें
  • परिसंपत्ति प्रबंधक
  • ईमेल प्रीसेट
  • Block पैक
  • भंडारण एडेप्टर
  • संपत्ति एकीकरण
प्लगइन्स ब्राउज़ करें

आपका बैकएंड

  • API मार्ग
  • आपका डेटाबेस
  • HTML / MJML
  • आपका भेजने वाला प्रदाता
संपादक कभी भी आपके डेटाबेस से बात नहीं करता है, और आपके डेटाबेस को कभी भी यह जानने की आवश्यकता नहीं होती है कि संपादक कैसे काम करता है। उनके बीच एकमात्र अनुबंध एक JSON परियोजना दस्तावेज़ और मार्कअप है जो इसे प्रस्तुत करता है।

किसी और के उत्पाद में एक संपादक को एम्बेड करना प्रश्नों का एक अलग सेट उठाता है।

प्रतिक्रिया और Next.js

React या Next.js में ईमेल बिल्डर का उपयोग करें

दोनों रास्ते एक ही स्थान पर समाप्त होते हैं। एकमात्र वास्तविक अंतर यह है कि मॉड्यूल का मूल्यांकन करने की अनुमति है।

React स्पा

  1. React

    Vite, सीआरए, Remix ग्राहक मार्ग

  2. @grapesjs/react

    प्रकाशित आवरण घटक

  3. GrapesJS

    संपादन कैनवास

  4. ईमेल प्रीसेट

    ईमेल-सुरक्षित ब्लॉक और शैलियाँ

घटक को प्रस्तुत करें। व्यवस्था करने के लिए और कुछ नहीं है।

GrapesJS React एकीकरण

Next.js

  1. Next.js

    पेज या App Router

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

    एक अतिरिक्त पंक्ति

  3. React घटक

    आपका संपादक आवरण

  4. GrapesJS

    केवल ब्राउज़र

  5. ईमेल प्रीसेट

    ईमेल-सुरक्षित ब्लॉक और शैलियाँ

बाकी सब कुछ - API मार्ग, डेटा फ़ेचिंग, प्रमाणीकरण - अपरिवर्तित है।

GrapesJS Next.js एकीकरण

SSR सीमा, एक बार

GrapesJS प्रारंभ होने के दौरान विंडो और दस्तावेज़ तक पहुंचता है, इसलिए सर्वर पर इसका मूल्यांकन नहीं किया जा सकता है। Next.js में इसका मतलब है कि अपने संपादक घटक को next/dynamic के माध्यम से ssr: false के साथ आयात करना और इसे एक लोडिंग कंकाल देना। यह संपूर्ण Next.js-विशिष्ट लागत है; संपादक के आसपास का पृष्ठ अभी भी सर्वर-रेंडर किया जा सकता है, और इसका डेटा अभी भी getStaticProps, getServerSideProps या सर्वर घटक से आ सकता है।

जल्दी शुरू

React ईमेल बिल्डर बनाना शुरू करें

तीन पैकेज और एक घटक। इसके बाद सब कुछ - भंडारण, कस्टम ब्लॉक, MJML - पृष्ठ के नीचे और नीचे कवर किया गया है।

npm install grapesjs @grapesjs/react grapesjs-preset-newsletter
ईमेलबिल्डर.जेएसएक्सJS
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(),
          });
        });
      }}
    />
  );
}

Next.js में, एक गतिशील आयात संपादक को सर्वर रेंडर से बाहर रखता है:

ऐप/ईमेल/पेज.टीएसएक्सJS
// 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. React घटक के अंदर संपादक को प्रारंभ करें
  2. एक ईमेल प्रीसेट जोड़ें ताकि ब्लॉक और शैलियाँ ईमेल-सुरक्षित हों
  3. अपने उत्पाद की ज़रूरत के ब्लॉक को पंजीकृत करें
  4. अपने स्वयं के API के विरुद्ध भंडारण कॉन्फ़िगर करें
  5. HTML निर्यात करें, या सर्वर पर MJML संकलित करें
  6. परिणाम अपने भेजने वाले प्रदाता को सौंपें

ऊपर दिए गए संस्करणों को 2026-09-03 पर प्रकाशित पैकेजों के खिलाफ जांचा गया था: grapesjs 0.23.6 BSD-3-Clause है; @grapesjs/react MIT है।

संपादक सुविधाएँ

विज़ुअल ईमेल संपादन के लिए आपको जो कुछ भी चाहिए

ये संपादक कोर और उसके ईमेल प्रीसेट से आते हैं, न कि किसी भी चीज़ से जो आपको लिखना है।

खींचें और छोड़ें

उपयोगकर्ता ईमेल के चारों ओर अनुभागों को स्थानांतरित करते हैं और ब्लॉक पैनल से नए अनुभागों को छोड़ते हैं।

समृद्ध सामग्री

पाठ, चित्र और बटन संपादित कर रहे हैं जहां वे बैठते हैं, इनलाइन संपादक के साथ एक आप पहले से लाइसेंस के लिए स्वैप करने योग्य है.

लेआउट

पंक्तियाँ, स्तंभ और अनुभाग, आधुनिक लेआउट CSS के बजाय तालिका मार्कअप ईमेल क्लाइंट अपेक्षा से निर्मित हैं।

उत्तरदायी डिजाइन

संपादन करते समय कॉन्फ़िगर किए गए डिवाइस की चौड़ाई के बीच स्विच करें ताकि एक लेआउट को भेजे जाने से पहले संकीर्ण रूप से जांचा जा सके।

पुनः प्रयोज्य घटक

Component प्रकार जिन्हें आप परिभाषित करते हैं, उनके अपने traits और अपने स्वयं के प्रस्तुत मार्कअप के साथ।

ब्लॉक

तैयार अनुभागों का एक पैलेट जिससे आपके उपयोगकर्ता इकट्ठा होते हैं, जिन्हें आपके नाम वाली श्रेणियों में बांटा जाता है।

संपत्ति

छवियों के लिए एक परिसंपत्ति प्रबंधक, जो प्लगइन्स आपके स्वयं के भंडारण या आपके द्वारा पहले से उपयोग की जाने वाली मीडिया सेवा पर इंगित कर सकता है।

पूर्ववत करें / फिर से करें

एक कमांड इतिहास, इसलिए डिज़ाइन के साथ प्रयोग करना एकतरफा दरवाजा नहीं है।

MJML

MJML के साथ उत्तरदायी ईमेल बनाएं

MJML उत्तरदायी ईमेल मार्कअप को हाथ से लिखने योग्य बनाने के लिए मौजूद है। इसके शीर्ष पर एक विज़ुअल बिल्डर का मतलब है कि किसी को ऐसा करना नहीं है। GrapesJS के कोर में MJML शामिल नहीं है - एक प्लगइन संपादक में MJML घटकों को जोड़ता है, इसलिए प्रोजेक्ट सादे MJML के बजाय HTML तक क्रमबद्ध होता है।

संकलन कहां होता है

  1. React ऐप
  2. GrapesJS + MJML प्लगइन
  3. MJML दस्तावेज़
  4. आपका API मार्ग
  5. HTML ईमेल
  6. आपका भेजने वाला प्रदाता
पेज/एपीआई/ईमेल/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 });
}

कंपाइलर एक Node पैकेज है, इसलिए संकलन सर्वर पर है - Next.js में, एक साधारण API मार्ग। रिवर्स दिशा सममित नहीं है: मनमाना HTML सफाई से वापस MJML में परिवर्तित नहीं होता है, इसलिए किसी एक पर निर्माण करने से पहले अपने वर्कफ़्लो को आवश्यक प्रारूप चुनें।

उत्पादन

अपने ईमेल आउटपुट को नियंत्रित करें

संपादक आपके कोड को तीन अलग-अलग चीजें देता है, और एक React एप्लिकेशन आमतौर पर तीनों को अलग-अलग क्षणों में चाहता है।

editor.getHtml() + getCss()

HTML

प्रदान किया गया ईमेल, टेबल-आधारित और इनलाइन-स्टाइल जब एक ईमेल प्रीसेट सक्रिय होता है। यह वही है जो आप एक भेजने वाले प्रदाता को पास करते हैं।

MJML प्लगइन के साथ

MJML

स्रोत दस्तावेज़, जब आपका वर्कफ़्लो MJML के आसपास बनाया जाता है। आपके द्वारा वास्तव में भेजा गया HTML प्राप्त करने के लिए इसे सर्वर पर संकलित करें।

editor.getProjectData()

JSON

संपादन योग्य परियोजना। इसे स्टोर करें ताकि उपयोगकर्ता महीनों बाद एक टेम्पलेट को फिर से खोल सके और यह ठीक उसी तरह वापस आ जाए जैसे उन्होंने इसे छोड़ा था।

प्रदान किए गए मार्कअप और संपादन योग्य प्रोजेक्ट अलग-अलग जीवनकाल के साथ अलग-अलग कलाकृतियां हैं। JSON स्टोर करें; HTML को पुनः उत्पन्न करें।

कस्टम घटक

आपके ऐप्लिकेशन के पास पहले से मौजूद डेटा को ईमेल ब्लॉक में बदलें

यह वह जगह है जहां एक एम्बेडेड बिल्डर एक सामान्य ईमेल टूल से आगे बढ़ता है: ब्लॉक आपके डोमेन के बारे में जान सकते हैं। एक ब्लॉक एक उत्पाद कार्ड की तस्वीर नहीं है - यह उत्पाद को देख सकता है।

आपका आवेदन

ईमेल बिल्डर

  • गुणनफलउत्पाद ब्लॉकरिकॉर्ड से खींची गई छवि, नाम और कीमत
  • ख़रीदारवैयक्तिकृत अभिवादनमर्ज फ़ील्ड भेजें समय पर आपका बैकएंड हल हो जाता है
  • आदेशआदेश सारांश ब्लॉकईमेल-सुरक्षित तालिका के रूप में प्रस्तुत लाइन आइटम
  • आयोजनगतिशील कॉल टू एक्शनईवेंट से बनाया गया लिंक, हाथ से टाइप नहीं किया गया
  • योजनामूल्य निर्धारण ब्लॉकआपके बिलिंग कैटलॉग से रेंडर किए गए टियर

यह क्या है, इसके बारे में सटीक होने के लिए: एक मनमाना React घटक को ईमेल घटक में परिवर्तित नहीं किया जाता है। JSX एक DOM ट्री प्रदान करता है, और ईमेल क्लाइंट इसमें से अधिकांश का सम्मान नहीं करेंगे। आप जो लिखते हैं वह एक GrapesJS घटक प्रकार है जिसका toHTML ईमेल-सुरक्षित मार्कअप उत्सर्जित करता है और जिसका traits मैप आपके एप्लिकेशन के रिकॉर्ड पर होता है। वायरिंग आपकी है; संपादक इसे लगाने के लिए जगह की आपूर्ति करता है।

ब्लॉक लाइब्रेरी

उपयोगकर्ताओं को उपयोग के लिए तैयार ईमेल ब्लॉक की लाइब्रेरी दें

आपके उत्पाद द्वारा वास्तव में भेजे जाने वाले अनुभागों को शिपिंग करके दोहराए जाने वाले डिज़ाइन कार्य को कम करें, न कि आपके उपयोगकर्ताओं को हर बार अनुकूलित करने के लिए एक सामान्य सेट के बजाय।

हैडर

लोगो, वर्डमार्क और प्रीहेडर टेक्स्ट, आपके ब्रांड दिशानिर्देशों द्वारा निर्दिष्ट लेआउट में लॉक किया गया है।

हीरो

एक संदेश जो ईमेल वितरित करने के लिए मौजूद है, एक संकीर्ण व्यूपोर्ट से बचने के लिए आकार।

छवि + पाठ

वर्कहॉर्स अनुभाग: इसके नीचे या बगल में एक पैराग्राफ के साथ एक दृश्य।

उत्पाद कार्ड

एक डोमेन ब्लॉक आपके कैटलॉग से जुड़ा हुआ है, न कि किसी व्यक्ति द्वारा भरता प्लेसहोल्डर.

मूल्य निर्धारण

आपके बिलिंग डेटा से रेंडर किए गए स्तर और आंकड़े, इसलिए मूल्य परिवर्तन टेम्पलेट संपादन नहीं है.

सुविधाऐं

बिंदुओं की एक दोहराने योग्य सूची, तालिकाओं के साथ रखी गई है ताकि यह Outlook से बच सके।

कार्यवाई के लिए बुलावा

पैडिंग और फ़ॉलबैक के साथ एक बुलेटप्रूफ बटन प्रत्येक ग्राहक को चाहिए।

पाद लेख

पता, प्राथमिकताएं और सदस्यता समाप्त करें - जिन भागों का अनुपालन करता है, उन्हें उपयोगकर्ता के हाथों से दूर रखा जाता है।

टेम्पलेट्स

तैयार ईमेल से शुरू करें

एक टेम्पलेट सिर्फ एक सहेजा गया प्रोजेक्ट दस्तावेज़ है, इसलिए स्टार्टर लाइब्रेरी को शिपिंग करने का मतलब है पंक्तियों को सीडिंग करना और जब कोई उपयोगकर्ता इसे चुनता है तो एक को प्रोजेक्टडेटा के रूप में लोड करना। ये वे श्रेणियां हैं जिनकी अधिकांश उत्पादों को आवश्यकता होती है:

सामान्य प्रारंभिक बिंदु

  • न्यूज़ लैटर
  • स्वागत है
  • पदोन्नति
  • उत्पाद घोषणा
  • ईकॉमर्स
  • SaaS जीवनचक्र
  • लेन-देन

ये लेआउट श्रेणियां हैं, बिक्री के लिए उत्पाद नहीं। GJS.Market ईमेल प्रीसेट, ब्लॉक पैक और टेम्पलेट प्रबंधकों को सूचीबद्ध करता है - यह तैयार ईमेल डिज़ाइन नहीं बेचता है, और यह पृष्ठ आपको उन उत्पादों के लिए कार्ड नहीं दिखाएगा जो मौजूद नहीं हैं।

प्रतिसंवेदी

डेस्कटॉप और मोबाइल के लिए डिज़ाइन

उपयोगकर्ता संपादन करते समय डिवाइस की चौड़ाई बदलते हैं, और कैनवास उस चौड़ाई पर फिर से तैयार हो जाता है। ईमेल की चौड़ाई वेब की तुलना में संकरी होती है: 600px वर्षों से अधिकतम सुरक्षित डेस्कटॉप रहा है।

डेस्कटॉप600 पिक्सल
टिकिया480 पिक्सल
मोबाइल320 पिक्सल

उपयोगकर्ता प्रति चौड़ाई क्या बदल सकते हैं

  • फ़ॉन्ट आकार
  • गद्दी
  • संरेखण
  • स्तंभ स्टैकिंग
  • छवि की चौड़ाई
  • अनुभाग दृश्यता

एक पूर्वावलोकन एक पूर्वावलोकन है। यह दिखाता है कि मार्कअप कैसे फिर से प्रवाहित होता है, न कि एक विशिष्ट क्लाइंट इसे कैसे प्रस्तुत करेगा - जो कि अगला भाग है।

ईमेल क्लाइंट

वास्तविक ईमेल क्लाइंट को ध्यान में रखकर निर्माण करें

ईमेल क्लाइंट HTML और CSS को अलग-अलग तरीके से लागू करते हैं, और बीस वर्षों से ऐसा कर रहे हैं। एक विज़ुअल बिल्डर संलेखन वर्कफ़्लो को मानकीकृत करता है; यह ग्राहकों को एक-दूसरे से सहमत नहीं बनाता है।

Gmail

दस्तावेज़ के सिर को कई संदर्भों में स्ट्रिप्स करता है, इसलिए जीवित रहने वाली शैलियों को इनलाइन होना चाहिए।

दृष्टिकोण

कुछ संस्करणों में विंडोज पर वर्ड के माध्यम से रेंडर करता है, यही वजह है कि ईमेल मार्कअप अभी भी टेबल-आधारित है।

Apple Mail

चार में से सबसे अनुमेय, और इसलिए आपके एकमात्र परीक्षण के रूप में कम से कम उपयोगी।

Yahoo Mail

मीडिया प्रश्नों और कक्षाओं का अपना प्रबंधन; यह जांचने लायक है कि क्या यह आपके दर्शकों में सार्थक है।

यही कारण है कि यह पृष्ठ आपको यह नहीं बताएगा कि यह हर जगह पूरी तरह से काम करता है। इनलाइन शैलियों के साथ तालिका-आधारित आउटपुट उपलब्ध सबसे अनुमानित प्रारंभिक बिंदु है, और उत्पादन ईमेल को अभी भी उन ग्राहकों में परीक्षण किया जाना चाहिए जिनका आपके अपने प्राप्तकर्ता वास्तव में उपयोग करते हैं।

आपका डेटा

अपने ईमेल डेटा को अपने बैकएंड में रखें

संपादक को आपके पास पहले से मौजूद बैकएंड और डेटा मॉडल से कनेक्ट करें। आपके उपयोगकर्ता, आपका प्रमाणीकरण, आपका डेटाबेस, आपकी अनुमतियाँ और आपका प्रकाशन वर्कफ़्लो सभी ठीक वहीं रहते हैं जहां वे हैं।

राउंड ट्रिप

  1. React ईमेल बिल्डर
  2. परियोजना डेटा (JSON)
  3. आपका API मार्ग
  4. आपका डेटाबेस
  5. आपका आवेदन
भंडारण + पृष्ठ/एपीआई/ईमेल-टेम्पलेट्स/[आईडी].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 आपके टेम्प्लेट को होस्ट नहीं करता है, आपका डेटा संग्रहीत नहीं करता है या आपका ईमेल नहीं भेजता है। यह आपके द्वारा स्वयं चलाए जाने वाले संपादक के लिए प्लगइन्स बेचता है।

सफेद लेबल

ईमेल बिल्डर को अपने उत्पाद का हिस्सा बनाएं

संपादन अनुभव को तब तक अनुकूलित करें जब तक कि यह आपके React एप्लिकेशन के मूल भाग के रूप में न पढ़ जाए, न कि इसमें बोल्ट किए गए तृतीय-पक्ष पैनल के रूप में। पहली बार में हटाने के लिए कोई विक्रेता ब्रांडिंग नहीं है।

उपयोगकर्ता क्या देखता है

  1. आपका ब्रांड
  2. आपका नेविगेशन
  3. आपका ईमेल बिल्डर
  4. आपके घटक
  5. आपके टेम्पलेट

आप क्या बदल सकते हैं

  • टूलबार और बटन
  • पैनल और उनका लेआउट
  • Block पैलेट और श्रेणियां
  • Component प्रकार और traits
  • शैली प्रबंधक क्षेत्र
  • Commands और कीबोर्ड शॉर्टकट
  • आसपास का React UI

सबसे गहन संस्करण संपादक को बिना सिर के चलाना और केवल कैनवास और मॉडल के लिए संपादक का उपयोग करके React में संपूर्ण इंटरफ़ेस बनाना है।

बिल्ड बनाम खरीदें

स्क्रैच से React ईमेल संपादक बनाएं?

यह विचार करने के लिए एक उचित बात है, जब तक कि भागों की सूची नहीं लिखी जाती है। नीचे दिया गया प्रत्येक आइटम कुछ ऐसा है जिसकी एक ईमेल संपादक को प्रयोग करने योग्य होने से पहले आवश्यकता होती है - न कि एक अच्छा है।

एक ईमेल संपादक किस चीज से बना होता है

  • कैनवास का संपादन
  • चयन और हिट परीक्षण
  • खींचें और छोड़ें
  • Component मॉडल
  • Block प्रणाली
  • शैली प्रबंधक
  • उत्तरदायी नियंत्रण
  • परिसंपत्ति प्रबंधक
  • टेम्पलेट भंडारण
  • इतिहास को पूर्ववत करें/फिर से करें
  • क्रमबद्धता
  • HTML निर्यात
  • MJML एकीकरण
  • पूर्वसमीक्षा
  • चल रहा रखरखाव

सब कुछ स्वयं बनाएं

ऊपर की हर पंक्ति

  • आप प्रत्येक सबसिस्टम के मालिक हैं, जिसमें उबाऊ भी शामिल हैं
  • ईमेल क्लाइंट विचित्रताएं आपकी टीम की स्थायी समस्या बन जाती हैं
  • संपादक आपके वास्तविक उत्पाद के साथ रोडमैप के लिए प्रतिस्पर्धा करता है
  • किसी और के प्लगइन्स आपकी मदद नहीं कर सकते

GrapesJS से शुरू करें

संपादन नींव

  • कैनवास, घटक, ब्लॉक, शैलियाँ, संपत्ति और भंडारण मौजूद हैं
  • ईमेल प्रीसेट पहले से ही तालिका-आधारित आउटपुट नियमों को एन्कोड करते हैं
  • प्लगइन्स भंडारण, संपत्ति और निर्यात को कवर करते हैं
  • आप केवल वही भाग लिखते हैं जो आपके उत्पाद के लिए विशिष्ट हैं

अपना ईमेल उत्पाद बनाएं - खरोंच से कोई अन्य संपादक नहीं। हम उस पर कई बचाए गए महीने नहीं लगाने जा रहे हैं; आपकी टीम को कितना समय लगेगा यह आपकी टीम पर निर्भर करता है।

प्लगइन्स

अपने React ईमेल बिल्डर को GJS.Market के साथ विस्तारित करें

नीचे दी गई प्रत्येक सूची एक लाइव पेज के साथ एक वास्तविक उत्पाद है, और इसका नाम, मूल्य और थंबनेल सीधे कैटलॉग से प्रस्तुत होता है - इसलिए इस पृष्ठ पर कुछ भी वास्तव में बिक्री के लिए क्या है, इसके साथ सिंक से बाहर नहीं हो सकता है।

React UI

यह पृष्ठ जिस परत के बारे में है: React संपादक कोर के चारों ओर बनाया गया इंटरफेस, उन टीमों के लिए जो स्टॉक पैनल के बजाय आसपास के UI React होना चाहते हैं।

इस श्रेणी को ब्राउज़ करें
ढेर

आपको जिस React ईमेल बिल्डर की आवश्यकता है उसका निर्माण करें

चार संयोजन जो वास्तविक आवश्यकताओं पर मैप करते हैं। दिखाई गई प्रत्येक सूची एक है जो मौजूद है - आरेख में एक अंतर को भरने वाला कोई काल्पनिक प्लगइन नहीं है।

कीमतें निर्माण समय पर कैटलॉग से आती हैं।

उदाहरण

अपने SaaS में विज़ुअल ईमेल संपादन जोड़ें

  1. 1
    1

    आपका ग्राहक बिल्डर खोलता है

    आपके ऐप में, आपके प्रमाणीकरण के पीछे, उनकी योजना पर एक मार्ग। कोई दूसरा खाता नहीं, कोई दूसरा लॉगिन नहीं।

  2. 2
    2

    वे एक टेम्पलेट इकट्ठा करते हैं

    आपके द्वारा परिभाषित किए गए ब्लॉकों से, जिनमें वे ब्लॉक भी शामिल हैं जो आपके उत्पाद में उनके डेटा के बारे में जानते हैं।

  3. 3
    3

    यह आपके डेटाबेस में सहेजता है

    परियोजना दस्तावेज़ आपके API मार्ग से होकर गुजरता है और एक पंक्ति में उतरता है जो उनके संगठन से संबंधित है।

  4. 4
    4

    कोई अभियान या वर्कफ़्लो इसका संदर्भ देता है

    आपका स्वचालन आईडी द्वारा टेम्पलेट चुनता है - इसे यह जानने की आवश्यकता नहीं है कि संपादक कैसे काम करता है।

  5. 5
    5

    आपका बैकएंड रेंडर करता है और भेजता है

    भेजने के समय हल किए गए फ़ील्ड मर्ज करें, उस प्रदाता को मार्कअप सौंप दिया गया जिसके लिए आप पहले से ही भुगतान कर रहे हैं।

ग्राहकों को ईमेल सामग्री पर दृश्य नियंत्रण मिलता है। आप उत्पाद, डेटा और वितरण बुनियादी ढांचे को रखते हैं।

यह किसके लिए है

टीमें जो इसे बनाती हैं

पैटर्न उन उत्पादों में दोहराता है जिनमें अन्यथा कुछ भी समान नहीं है।

सीआरएम

पुनः प्रयोज्य ग्राहक संचार टेम्पलेट, जो उन्हें भेजने वाली टीमों के स्वामित्व में हैं।

विपणन स्वचालन

एक बार डिज़ाइन किए गए टेम्पलेट और स्वचालित वर्कफ़्लो के हर चरण से संदर्भित।

न्यूज़लेटर प्लेटफ़ॉर्म

एक दृश्य कार्य के रूप में अभियान रचना, प्रत्येक प्रकाशन की अपनी पहचान रखने।

ईकॉमर्स

प्रचार और ऑर्डर से संबंधित ईमेल उन ब्लॉकों से बनाए गए हैं जो पहले से ही कैटलॉग जानते हैं।

एजेंसियां और व्हाइट-लेबल

एक संपादक, कई क्लाइंट ब्रांड, प्रत्येक को एक इंटरफ़ेस दिखाई देता है जो उनके अपने जैसा दिखता है।

वितरण

बिल्डर को अपने ईमेल बुनियादी ढांचे से कनेक्ट करें

संपादक ईमेल बनाता है। आपका बुनियादी ढांचा इसे भेजता है। उस रेखा को स्पष्ट रखना ही इस वास्तुकला के बाकी हिस्सों को सरल बनाता है।

  1. चरण 01

    React ईमेल बिल्डर

    उपयोगकर्ता संपादित करता है; संपादक क्रमबद्ध करता है कि उन्होंने एक परियोजना दस्तावेज़ में क्या बनाया है।

    परियोजना JSON
  2. चरण 02

    आपका बैकएंड

    प्रोजेक्ट को उस खाते के विरुद्ध संग्रहीत करता है जो इसका स्वामी है, और जब कुछ भेजने के लिए कहता है तो इसे प्रस्तुत करता है।

    API मार्ग
  3. चरण 03

    रेंडर किया गया ईमेल

    मर्ज फ़ील्ड हल हो गए, मार्कअप का उत्पादन किया गया — MJML से संकलित किया गया है यदि यह आपका प्रारूप है।

    HTML / MJML
  4. चरण 04

    आपका प्रदाता

    जो भी भेजने वाला API आप पहले से उपयोग कर रहे हैं, उसे सौंप दिया गया, इसकी अपनी सुपुर्दगी और विश्लेषण के साथ।

    प्राप्‍तकर्ता
आपके डेटाबेस में एक JSON दस्तावेज़, एक रेंडर स्टेप, एक प्रदाता कॉल। उस श्रृंखला में कुछ भी संपादक विक्रेता का नहीं है।

प्रदाताओं टीमों के उदाहरण इसे सौंपते हैं

  • अमेज़न एसईएस
  • SendGrid
  • मेलगुन
  • पोस्टमार्क

मार्कअप कहां समाप्त होता है, इसके उदाहरण के रूप में नामित किया गया है, न कि अंतर्निहित एकीकरण के रूप में। न तो GrapesJS और न ही GJS.Market उनमें से किसी के लिए कनेक्टर शिप करता है; आप उन्हें अपने बैकएंड से SDK कहते हैं, जैसा कि आप पहले से ही अपने बाकी ईमेल के लिए करते हैं।

तुलनात्‍मक मूल्‍यांकन

React ईमेल बिल्डर: बिल्ड बनाम होस्टेड संपादक

यह एक वास्तुशिल्प व्यापार-बंद है, स्कोरबोर्ड नहीं। दाहिने हाथ का कॉलम ईमानदारी से "निर्भर करता है" कहता है: होस्ट किए गए संपादक एक-दूसरे से भिन्न होते हैं और अपनी शर्तों को बदलते हैं, और हम उनकी ओर से एक विशिष्ट उत्तर का आविष्कार नहीं करने जा रहे हैं।

योग्‍यतास्व-होस्टेड GrapesJSहोस्ट किया गया ईमेल संपादक
React एकीकरणहाँ — @grapesjs/react आवरणविक्रेता पर निर्भर करता है
स्व-होस्टिंगहाँ — npm आपके बंडल में पैकेजविक्रेता और योजना पर निर्भर करता है
डेटा स्वामित्वहाँ - आपका डेटाबेसविक्रेता पर निर्भर करता है
कस्टम घटकहाँ - आपके अपने घटक प्रकारविक्रेता पर निर्भर करता है
कस्टम UIहाँ - पैनल या एक हेडलेस इंस्टेंसविक्रेता पर निर्भर करता है
Plugin पारिस्थितिकी तंत्रहाँ — 100+ पर GJS.Marketविक्रेता पर निर्भर करता है
आपका अपना बैकएंडहाँ - आपके API मार्गविक्रेता पर निर्भर करता है
कोर लाइसेंसBSD-3-Clauseमालिकाना
विक्रेता लॉक-इनकम - प्रोजेक्ट डेटा आपका हैसंभावित रूप से अधिक

GrapesJS कॉलम grapesjs 0.23.6 और @grapesjs/react के खिलाफ 2026-09-03 के खिलाफ सत्यापित है। किसी विशिष्ट नामित विक्रेता के खिलाफ तुलना के लिए, इसके प्रकाशित मूल्य निर्धारण के साथ, समर्पित पृष्ठ देखें।

कस्टम विकास

एकीकरण स्वयं नहीं बनाना चाहते हैं?

अपनी उत्पाद आवश्यकताओं के आसपास एक उत्पादन-तैयार React ईमेल बिल्डर बनाने में सहायता प्राप्त करें - आपके घटक, आपका डेटा मॉडल, आपका संग्रहण और आपका भेजने वाला प्रदाता।

एक कस्टम ईमेल बिल्डर बनाएं

अपने स्टैक, अपने डेटा मॉडल और आपके लिए आवश्यक आउटपुट स्वरूप का वर्णन करने वाला एक संक्षिप्त विवरण भेजें, और आपको एक स्कोप प्रस्ताव वापस मिलेगा।

FAQ

React ईमेल बिल्डर प्रश्न

सम्बंधित

अपना React ईमेल संपादक बनाएं। अनुभव के मालिक बनें।

पड़ोसी पृष्ठ जो एक ही संपादक को एक अलग दिशा में ले जाते हैं।

शुरू हो जाओ

अपने उत्पाद के लिए आवश्यक React ईमेल बिल्डर बनाएं

GrapesJS से शुरू करें, इसे अपने React एप्लिकेशन में एकीकृत करें, और आपके उत्पाद को वास्तव में आवश्यक ईमेल प्लगइन्स के साथ संपादक का विस्तार करें।

निःशुल्क

निर्माण शुरू करें

पैकेज इंस्टॉल करें, घटक को माउंट करें और आज ही अपने ऐप में एक ईमेल संपादक चालू करें।

जल्दी शुरू
बाज़ार

ईमेल प्लगइन्स ब्राउज़ करें

प्रीसेट, ब्लॉक पैक, स्टोरेज एडेप्टर और एसेट इंटीग्रेशन - लाइव कीमतों के साथ वास्तविक लिस्टिंग।

प्लगइन्स ब्राउज़ करें