ईमेल टेम्पलेट बिल्डर

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

अपने उपयोगकर्ताओं को उत्तरदायी ईमेल टेम्पलेट बनाने का एक दृश्य तरीका दें - पुनः प्रयोज्य ब्लॉक, MJML, कस्टम घटक और उत्पादन-तैयार HTML निर्यात, सभी आपके अपने उत्पाद के अंदर।

खुला स्रोतस्व-होस्टेडएक्स्टेंसिबलडेवलपर के अनुकूल

वह लूप जिसमें आपके उपयोगकर्ता रहते हैं

  1. निर्माण
  2. डिज़ाइन
  3. पूर्वसमीक्षा
  4. निर्यातित माल
  5. भेजें

26k+

GitHub सितारे

100+

GJS.Market पर प्लगइन्स

10 years

सक्रिय विकास

BSD-3-Clause

कोर लाइसेंस

इसे अजमाएं

एक टेम्पलेट लाइब्रेरी, लाइव

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

your-app.com/templates

टेम्पलेट लाइब्रेरी

एक ब्लॉक जोड़ें

  • आपका लोगो

  • जहाज पर आपका स्वागत है, {{ user.first_name }}

  • यहां बताया गया है कि अपना पहला प्रोजेक्ट कैसे चलाएं।

  • अपना डैशबोर्ड खोलें

  • सदस्यता समाप्त करें · प्राथमिकताएं प्रबंधित करें

मर्ज टैग अछूते रहते हैं — आपका रेंडरर उन्हें भेजने के समय प्रति प्राप्तकर्ता हल करता है.

असली संपादक

या असली चीज़ खोलें

ऊपर दिया गया डेमो लूप का एक मॉडल है। यह GrapesJS ही है, आधिकारिक MJML प्रीसेट चला रहा है - केवल तभी लोड होता है जब आप इसके लिए पूछते हैं, इसलिए तब तक इस पृष्ठ पर कुछ भी खर्च नहीं होता है।

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

MJML संपादक डेमो GrapesJS प्रोजेक्ट द्वारा ही प्रकाशित किया गया है। एक अनुभाग जोड़ें, प्रतिलिपि संपादित करें, फिर जेनरेट किए गए मार्कअप को देखें।

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

डेमो की अपनी साइट से iframe में लोड होता है।

GJS.Market पर

MJML संपादक एक उत्पाद के रूप में उपलब्ध है

परिभाषा

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

एक ईमेल टेम्पलेट बिल्डर लोगों को हस्तलेखन HTML ईमेल मार्कअप के बजाय ईमेल लेआउट बनाने और बदलने देता है। एक टेम्पलेट * लाइब्रेरी * तैयार डिजाइनों को शिप करता है; एक टेम्पलेट * बिल्डर * उन्हें बनाने की क्षमता को शिप करता है - और आपके द्वारा शिप किए जाने के बाद उन्हें बनाते रहने के लिए।

एक फ़ाइल के रूप में एक टेम्पलेट

  1. HTML लिखें

    तालिकाएँ, इनलाइन शैलियाँ, सशर्त टिप्पणियाँ

  2. ग्राहकों के बीच परीक्षण करें

    लिखते समय आप परिणाम नहीं देख सकते

  3. इसे मार्केटिंग के लिए सौंप दें

    एक फ़ाइल के रूप में, या एक उपकरण में चिपकाया गया

  4. हर बदलाव आपके पास वापस आता है

    एक डेवलपर टिकट प्रति ट्वीक

एक टेम्पलेट, एक मालिक, एक अड़चन।

एक प्रणाली के रूप में एक टेम्पलेट

  1. एक प्रारंभिक बिंदु खोलें

    शेल्फ से, या रिक्त

  2. विज़ुअल रूप से संपादित करें

    परिणाम पूरे समय स्क्रीन पर रहता है

  3. इसे टेम्पलेट के रूप में सहेजें

    एक पंक्ति जो आपके ग्राहक के पास है

  4. इसका पुनः उपयोग और संस्करण करें

    कोई टिकट नहीं, कोई डेवलपर नहीं

कई टेम्पलेट, जो उन्हें भेजने वाले लोगों के स्वामित्व में हैं।

टेम्प्लेट आपके उपयोगकर्ताओं को एक प्रारंभिक बिंदु देते हैं। एक बिल्डर उन्हें नियंत्रण देता है।

अंतर जो मायने रखता है

ईमेल टेम्पलेट लाइब्रेरी से अधिक

एक पुस्तकालय एक छत के साथ एक शेल्फ है: यह कवर करता है कि इसे कवर करने के लिए क्या बनाया गया था, और उस लाइन के ऊपर के अनुरोधों में कहीं नहीं जाना है। एक बिल्डर एक लूप है - और शेल्फ हर बार बढ़ता है जब कोई इसके चारों ओर जाता है।

टेम्पलेट लाइब्रेरी

इस लाइन से ऊपर की किसी भी चीज़ के लिए एक डेवलपर की आवश्यकता होती है

टेम्पलेट बिल्डर

  1. बनाएं
  2. टेम्पलेट के रूप में सहेजें
  3. पुनः उपयोग
  • "हमें शुक्रवार तक एक स्वच्छ स्वागत ईमेल की आवश्यकता है।

    ढका हुआ

    टेम्पलेट लाइब्रेरी

    हल किया। यह वही है जो एक अच्छी लाइब्रेरी के लिए है - एक चुनें, शब्दों को बदलें, भेजें।

    ढका हुआ

    टेम्पलेट बिल्डर

    उसी शुरुआती बिंदुओं से भी हल किया गया। एक बिल्डर इसके अंदर एक पुस्तकालय के साथ जहाज करता है।

  • "प्रत्येक किरायेदार को अपने स्वयं के कानूनी पाद लेख की आवश्यकता होती है।

    कवर नहीं किया गया

    टेम्पलेट लाइब्रेरी

    एक साझा पाद लेख, या प्रति किरायेदार प्रत्येक टेम्पलेट का एक कांटा।

    ढका हुआ

    टेम्पलेट बिल्डर

    एक पाद लेख ब्लॉक, प्रति किरायेदार एक बार सहेजा गया और उनके टेम्पलेट्स में पुनः उपयोग किया गया।

  • "ग्राहक के वास्तविक ऑर्डर को रसीद में रखें।

    कवर नहीं किया गया

    टेम्पलेट लाइब्रेरी

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

    ढका हुआ

    टेम्पलेट बिल्डर

    आपके ऑर्डर मॉडल से बंधा एक घटक, एक ब्लॉक के रूप में संपादन योग्य और भेजने के समय हल किया गया।

  • "पिछले मंगलवार को हमारे द्वारा भेजे गए संस्करण को पुनर्स्थापित करें।

    कवर नहीं किया गया

    टेम्पलेट लाइब्रेरी

    जो कुछ भी फ़ाइल के साथ अधिलेखित किया गया था वह आपके पास है।

    ढका हुआ

    टेम्पलेट बिल्डर

    एक संस्करण पंक्ति। पुनर्स्थापित करना एक क्वेरी है, पुरातत्व परियोजना नहीं।

  • "हमारे ग्राहकों को हमें ईमेल किए बिना अपना खुद का निर्माण करने दें।

    कवर नहीं किया गया

    टेम्पलेट लाइब्रेरी

    वह नहीं जो एक पुस्तकालय करता है - इसकी कोई संलेखन सतह नहीं है।

    ढका हुआ

    टेम्पलेट बिल्डर

    पूरी बात। आपके उपयोगकर्ता ऐसे टेम्पलेट बनाते और रखते हैं जिन्हें आप कभी नहीं देखते हैं।

पुस्तकालय भेजें। फिर उस चीज़ को शिप करें जो उनमें से अधिक बनाती है।

क्षमताओं

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

आपके उपयोगकर्ताओं को मिलने वाली संपादन सतह और उसके कुछ हिस्सों को आप नियंत्रित करते हैं।

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

उपयोगकर्ता कैनवास पर ब्लॉक को स्थानांतरित करके लेआउट बनाते हैं, जिस क्रम में वे उन्हें चाहते हैं।

दृश्य संपादन

पाठ, छवियों और लिंक को पूरे समय स्क्रीन पर प्रदान किए गए परिणाम के साथ संपादित किया जाता है।

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

आपके उपयोगकर्ता एक बार सहेजते हैं और बाद में किसी भी टेम्पलेट में छोड़ देते हैं।

उत्तरदायी लेआउट

पूर्वावलोकन और समायोजन पर लेआउट चौड़ाई है कि ईमेल के लिए मायने रखता है, जबकि संपादन.

MJML

mjml के खिलाफ लेखक जहां आप चाहते हैं कि आप हाथ से बनाए रखने के बजाय आपके लिए उत्तरदायी मार्कअप उत्पन्न करें।

HTML निर्यात

वह ईमेल HTML तैयार करें जिसकी आपका डिलीवरी वर्कफ़्लो पहले से ही अपेक्षा करता है।

संपत्ति

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

कस्टम घटक

संपादन योग्य घटक जोड़ें जो आपके स्वयं के उत्पाद के डेटा और वर्कफ़्लो को प्रतिबिंबित करते हैं।

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

एक पूर्ण इतिहास स्टैक, इसलिए किसी और के टेम्पलेट के साथ प्रयोग करना सुरक्षित है।

ब्लॉक

पुनः प्रयोज्य ईमेल ब्लॉक बनाएं

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

  • हैडर

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

  • Hero

    प्रारंभिक वक्तव्य और कार्रवाई के लिए पहला कॉल।

  • उत्पाद ग्रिड

    वस्तुओं की एक पंक्ति या ग्रिड, आपके कैटलॉग से बंधा हुआ है जहां आप इसे लाइव चाहते हैं।

  • फ़ीचर सूची

    रिलीज़ नोट्स और ऑनबोर्डिंग के लिए लघु आइकन-और-टेक्स्ट पंक्तियाँ।

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

    एक टेबल-आधारित रेंडरर से बचने के लिए योजना तुलना की गई है।

  • प्रशंसापत्र

    एक उद्धरण, एक एट्रिब्यूशन और एक वैकल्पिक अवतार।

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

    एक बुलेटप्रूफ बटन जो पृष्ठभूमि छवियों के बिना प्रस्तुत करता है।

  • पाद लेख

    पता, प्राथमिकताएं लिंक और सदस्यता समाप्त करने वाला लिंक जिसे आपको कानूनी रूप से शामिल करना आवश्यक है।

कस्टम घटक

अपने उत्पाद के लिए ईमेल घटक बनाएँ

मानक ब्लॉक लेआउट को कवर करते हैं। जो चीज बिल्डर को अपना बनाती है, वह है वे घटक जो आपके डेटा के बारे में जानते हैं - एक ऑर्डर, एक सदस्यता, एक बुकिंग, एक सिफारिश।

  1. स्‍टैंडर्ड
  2. संयत
  3. और रूप
  4. आपका डेटा मॉडल

स्‍टैंडर्ड

पाठ, छवि, बटन, कॉलम, अनुभाग

आदिम हर ईमेल की जरूरत होती है। वे संपादक के साथ आते हैं।

संयत

शीर्षलेख, hero, उत्पाद पंक्ति, पाद लेख

आपके मानक ब्लॉक, एक बार इकट्ठे हुए और पुनः उपयोग के लिए पंजीकृत।

और रूप

आदेश, ग्राहक, घटना, सिफारिश

Components traits के साथ आपके उपयोगकर्ता टैग सेट और मर्ज करते हैं जो आपका रेंडरर प्रति प्राप्तकर्ता हल करता है।

टेम्पलेट लिखे जाने के दौरान संपादक एक प्लेसहोल्डर प्रस्तुत करता है। आपका बैकएंड भेजने के समय वास्तविक मानों में स्वैप करता है।

अपने मॉडल से बंधे घटक को पंजीकृत करनाjs
// A component bound to your own model. The editor renders a placeholder; your
// backend swaps in the real order at send time, per recipient.
editor.DomComponents.addType('order-summary', {
  model: {
    defaults: {
      droppable: false,
      // Traits are the fields the person editing the template can set.
      traits: [
        { name: 'orderId', label: 'Order', type: 'text' },
        { name: 'showTax', label: 'Show tax line', type: 'checkbox' },
      ],
      // Merge tags survive export untouched and are resolved by your renderer.
      components: '<mj-text>{{ order.total }}</mj-text>',
    },
  },
});
टेम्पलेट प्रकार

एक टेम्पलेट से प्रारंभ करें

एक टेम्पलेट सिस्टम में, टेम्पलेट इस बात से भिन्न होते हैं कि उनका मालिक कौन है और कौन उन्हें बदल सकता है - न केवल वे जो कहते हैं। ये पहले दिन से मॉडलिंग के लायक कक्षाएं हैं।

स्वामित्व वर्ग

  • सिस्टम टेम्पलेट
  • किरायेदार टेम्पलेट
  • उपयोगकर्ता ड्राफ्ट
  • लॉक किया गया ब्रांड टेम्पलेट
  • शेयर किया गया स्निपेट
  • ख़ाली जगह

ये एक टेम्पलेट सिस्टम में स्वामित्व वर्ग हैं, बिक्री के लिए उत्पाद नहीं। GJS.Market संपादक प्लगइन्स और प्रीसेट सूचीबद्ध करता है; यह ईमेल टेम्पलेट नहीं बेचता है।

प्रतिसंवेदी

रिस्पॉन्सिव ईमेल टेम्प्लेट विज़ुअल रूप से बनाएं

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

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

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

  • स्टैक कॉलम
  • फ़ॉन्ट आकार
  • गद्दी
  • छवि की चौड़ाई
  • बटन की चौड़ाई
  • एक ब्लॉक छुपाएं

एक डेस्कटॉप क्लाइंट पर दो कॉलम, एक फोन पर स्टैक्ड - टेम्पलेट में तय किया जाता है, न कि प्राप्तकर्ता के ग्राहक के अनुमान से।

अनुकूलता

वास्तविक ईमेल क्लाइंट के लिए डिज़ाइन

ईमेल क्लाइंट HTML और CSS को अलग-अलग तरीके से लागू करते हैं, और हमेशा करते हैं। एक विज़ुअल बिल्डर इसे नहीं हटाता है - यह संलेखन चरण को मानकीकृत करता है ताकि हर बार एक ही ज्ञात-अच्छा मार्कअप सामने आए।

ग्राहकयह अलग तरीके से क्या करता हैबिल्डर इसके बारे में क्या करता है
Gmailस्ट्रिप्स <style> कुछ संदर्भों में ब्लॉक करता है, जिसमें गैर-Gmail खातों वाले Gmail मोबाइल ऐप भी शामिल हैं।यात्रा में जीवित रहने वाली स्टाइलशीट पर भरोसा करने के बजाय इनलाइन की गई शैलियों का उत्सर्जन करें।
Outlook (विंडोज़)Word इंजन के साथ रेंडर करता है: कोई flexbox, कोई ग्रिड नहीं, और किसी तालिका कक्ष पर सीमा-त्रिज्या ड्रॉप किया जाता है।CSS लेआउट के बजाय टेबल-आधारित लेआउट और बुलेटप्रूफ बटन उत्पन्न करें।
Apple Mailचार में से सबसे अधिक मानक-पूर्ण; इसके अलावा एक लेआउट को उजागर करने की सबसे अधिक संभावना है जो केवल कहीं और दुर्घटना से काम करता है।संपादन करते समय प्रत्येक चौड़ाई पर पूर्वावलोकन करें, इसलिए लेआउट आकस्मिक के बजाय जानबूझकर किया गया है।
Yahoo Mailमीडिया प्रश्नों के साथ ऐतिहासिक रूप से असंगत; वर्तमान व्यवहार Not publicly documented है।ऐसे लेआउट को प्राथमिकता दें जो मीडिया क्वेरी के बिना एकल पठनीय कॉलम में डिग्रेड हों।

2026-08-28 पर सत्यापित बाधाएं। व्यवहार में परिवर्तन; वर्तमान स्थिति के लिए caniemail.com की जाँच करें, और उन ग्राहकों के विरुद्ध उत्पादन ईमेल का परीक्षण करें जिनका आपके अपने दर्शक वास्तव में उपयोग करते हैं।

MJML

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

mjml उत्तरदायी ईमेल मार्कअप को कुछ ऐसा बनाने के लिए मौजूद है जिसे आप हाथ से बनाए रखने के बजाय उत्पन्न करते हैं। GrapesJS को इसके ऊपर एक दृश्य संपादन सतह डालने के लिए grapesjs-mjml के साथ बढ़ाया जा सकता है।

एक स्रोत जिसे आप अलग कर सकते हैं

MJML पुल अनुरोध में समीक्षा करने के लिए पर्याप्त कॉम्पैक्ट है, जो कच्चा ईमेल HTML नहीं है।

निर्माण द्वारा उत्तरदायी

कंपाइलर टेबल मचान और मीडिया प्रश्नों का उत्सर्जन करता है, इसलिए कोई भी उन्हें हाथ से नहीं लिखता है।

संग्रहीत, सिर्फ निर्यात नहीं किया गया

MJML को प्रोजेक्ट JSON के साथ रखें, ताकि एक टेम्पलेट स्रोत के रूप में संपादन योग्य रहे।

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

डेटा के रूप में टेम्पलेट

वह प्रश्न जो यह तय करता है कि आपके पास बिल्डर है या दर्शक: उपयोगकर्ता द्वारा सहेजें पर क्लिक करने के बाद कौन सी पंक्तियाँ मौजूद हैं? तीन तालिकाएँ इसे कवर करती हैं.

templates

टेम्पलेट

  • idप्राथमिक कुंजी
  • tenant_idइसका मालिक कौन है
  • nameउपयोगकर्ता क्या देखते हैं
  • kindसिस्टम, किरायेदार या ड्राफ्ट
  • current_version_idलाइव संस्करण पर अंक

प्रति टेम्पलेट एक पंक्ति, एक किरायेदार के लिए स्कोप।

कई हैं

template_versions

हर बचत

  • idप्राथमिक कुंजी
  • template_idपैरेंट टेम्पलेट
  • versionसेव पर वेतन वृद्धि
  • project / mjml / htmlतीन कलाकृतियाँ
  • created_byइसे किसने और कब बचाया

केवल जोड़ें। पिछले मंगलवार के ईमेल को पुनर्स्थापित करना एक प्रश्न है।

से बना

blocks

पुनः प्रयोज्य अनुभाग

  • idप्राथमिक कुंजी
  • tenant_idइसका उपयोग कौन कर सकता है
  • nameब्लॉक रेल में दिखाई देता है
  • projectसहेजा गया अनुभाग
  • lockedसंपादन योग्य, या ब्रांड-लॉक

एक बार सहेजा गया, बाद में किसी भी टेम्पलेट में छोड़ दिया गया।

एक संस्करण पंक्ति में तीनों शामिल हैं

JSON

परियोजना डेटा

क्या आप संपादक में वापस लोड करते हैं। इसके बिना एक टेम्पलेट हमेशा के लिए केवल पढ़ने के लिए है।

MJML

संपादन योग्य स्रोत

कंपाइलर में सुधार होने पर विस्थापित, समीक्षा योग्य और पुनः संकलित करने योग्य।

HTML

आप क्या भेजते हैं

प्रदान किया गया और इनलाइन, आपके प्रदाता को अपरिवर्तित सौंप दिया गया।

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

तीनों प्रारूप कैसे संबंधित हैं
आपका बुनियादी ढांचा

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

संपादक एक ग्राहक है। यह आपके API से एक टेम्पलेट मांगता है और एक को वापस सौंपता है; यह कभी नहीं सीखता कि आपके किरायेदार कौन हैं, और इसमें कभी भी किसी भी चीज़ की एकमात्र प्रति नहीं होती है।

एक टेम्पलेट कहाँ जाता है

  1. Editor
  2. परियोजना डेटा
  3. आपका API
  4. आपका डेटाबेस
  5. आपका ईमेल बुनियादी ढांचा
भंडारण एक किरायेदार और एक टेम्पलेट के लिए स्कोप किया गया हैJS
// Storage scoped to the tenant AND the template. The editor never learns who
// the tenant is — your API does, from the session, and refuses everything else.
editor.Storage.add('remote', {
  async load({ templateId }) {
    const res = await fetch(`/api/templates/${templateId}/project`);
    return res.json();
  },
  async store(project, { templateId }) {
    await fetch(`/api/templates/${templateId}/project`, {
      method: 'PUT',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify(project),
    });
  },
});

संपादक को आपके द्वारा पहले से चलाए जा रहे बैकएंड के साथ एकीकृत करें, बजाय इसके कि आप अपने ईमेल वर्कफ़्लो को किसी और के प्लेटफ़ॉर्म पर ले जाएं। GJS.Market संपादक प्लगइन्स बेचता है - यह आपके टेम्प्लेट को होस्ट नहीं करता है और आपका ईमेल नहीं भेजता है।

बहु-किरायेदार

आपके ग्राहकों की लाइब्रेरी, एक साझा शेल्फ नहीं

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

सिस्टम टेम्पलेट्स

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

किरायेदार टेम्पलेट्स

एक ग्राहक द्वारा सहेजा गया, उनकी पूरी टीम को दिखाई देता है, बाकी सभी के लिए अदृश्य।

उपयोगकर्ता ड्राफ़्ट

कार्य प्रगति पर है. निजी जब तक कोई इसे किसी टैनेंट टेम्पलेट में प्रचारित नहीं करता है.

बक्सों का इस्तेमाल करें

अपने SaaS में एक ईमेल बिल्डर जोड़ें

एक ही टेम्पलेट प्रणाली, अलग-अलग नौकरियों की ओर इशारा करती है।

ईमेल मार्केटिंग प्लेटफॉर्म

ग्राहकों को विज़ुअल रूप से अभियान बनाने दें और प्रत्येक भेजें को एक संस्करण टेम्पलेट के रूप में रखें।

संपादक को एम्बेड करना

सीआरएम

पुनः प्रयोज्य आउटरीच टेम्पलेट एक पूरी टीम साझा करती है, लूप में एक डिजाइनर के बिना।

ड्रैग-एंड-ड्रॉप ईमेल बिल्डर

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

स्वचालित यात्राओं के लिए टेम्पलेट, उस घटना से बंधे घटकों के साथ जिसने उन्हें ट्रिगर किया।

React ईमेल बिल्डर

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

उन लेखकों के लिए एक नो-कोड डिज़ाइन वर्कफ़्लो जिन्हें कभी भी टेबल लेआउट नहीं देखना चाहिए।

हेडलेस CMS संपादक

ग्राहक सहभागिता

उत्पाद के अंदर ईमेल निर्माण लोगों के पास पहले से ही खुला है, एक अलग टूल में नहीं।

व्हाइट-लेबल पेज बिल्डर

लेन-देन संबंधी ईमेल

नियंत्रित संपादन: ब्रांड-लॉक किए गए क्षेत्र, संपादन योग्य कॉपी, मर्ज टैग जिन्हें तोड़ा नहीं जा सकता।

एम्बेड करने योग्य पेज बिल्डर
बिल्ड बनाम खरीदें

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

संपादन कैनवास दृश्यमान हिस्सा है। एक टेम्पलेट सिस्टम इसका बाकी हिस्सा है - और बाकी वह जगह है जहां समय जाता है।

टेम्पलेट सिस्टम किस चीज से बना है

  • Editor कैनवास
  • खींचें और छोड़ें
  • Block रजिस्ट्री
  • Component मॉडल
  • शैली नियंत्रण
  • उत्तरदायी पूर्वावलोकन
  • संपत्ति प्रबंधन
  • टेम्पलेट CRUD
  • संस्करण बनाना और पुनर्स्थापित करना
  • मर्ज-टैग सत्यापन
  • किरायेदार स्कोपिंग
  • पूर्ववत करें और फिर से करें
  • HTML निर्यात
  • MJML संकलन
  • चल रहे ग्राहक परीक्षण

खरोंच से

यह सब

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

GrapesJS के साथ

संपादन परत, पहले से ही निर्मित है

  • कैनवास, ड्रैग एंड ड्रॉप, ब्लॉक, घटक, स्टाइलिंग, संपत्ति और इतिहास
  • Storage APIs टेम्पलेट पंक्तियों को अपने स्वयं के बैकएंड पर तार करने के लिए
  • MJML, ब्लॉक, भंडारण और निर्यात के लिए एक प्लगइन पारिस्थितिकी तंत्र

GrapesJS आपको संपादन परत देता है। इसके ऊपर टेम्पलेट सिस्टम - स्वामित्व, संस्करण, किरायेदारी - आपका है, और होना चाहिए: यह वह हिस्सा है जो आपके उत्पाद से मेल खाता है।

प्लगइन पारिस्थितिकी तंत्र

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

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

अनुशंसित ढेर

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

चार संयोजन जो पहले से ही एक साथ काम करते हैं, जिन्हें आप किसके टेम्पलेट लाइब्रेरी के आधार पर बना रहे हैं।

कीमतें निर्माण समय पर कैटलॉग से लाइव पढ़ी जाती हैं।

वितरण

संग्रहीत टेम्पलेट से इनबॉक्स में

GrapesJS संपादन परत है और HTML पर रुकती है। उसके बाद सब कुछ आपका बैकएंड और प्रदाता है जिसका आप पहले से भुगतान करते हैं - संपादक में कोई भी प्रेषण अंतर्निहित नहीं है, और यहां कोई भी निहित नहीं है।

  1. चरण 01

    कोई वर्शन चुनें

    भेजें एक विशिष्ट संस्करण का संदर्भ देता है, इसलिए जो बाहर गया वह टेम्पलेट के आगे बढ़ने के बाद प्रतिलिपि प्रस्तुत करने योग्य रहता है।

    template_versions.id
  2. चरण 02

    डेटा मर्ज करें

    आपका रेंडरर प्रति प्राप्तकर्ता मर्ज टैग का समाधान करता है. संपादक कभी भी ग्राहक डेटा नहीं देखता है.

    {{ order.total }}
  3. चरण 03

    HTML प्रस्तुत करें

    तालिका-आधारित और इनलाइनर्ड, जो कि प्रत्येक प्रदाता को सौंपे जाने की उम्मीद है।

    text/html
  4. चरण 04

    अपने प्रदाता को कॉल करें

    जो भी ESP आप पहले से ही उपयोग कर रहे हैं। इसे स्वैप करने से टेम्पलेट सिस्टम के बारे में कुछ भी नहीं बदलता है।

    POST /messages
  5. चरण 05

    फ़ीड परिणाम वापस

    खुलता है, क्लिक करता है और बाउंस उस संस्करण से जुड़ता है जिसने उन्हें उत्पादित किया है, जो उन्हें तुलनीय बनाता है।

    webhook
इस श्रृंखला में कुछ भी GJS.Market पर नहीं चलता है। संपादक मार्कअप तैयार करता है; आपका बुनियादी ढांचा बाकी काम करता है।
जल्दी शुरू

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

संपादक कोर प्लस आधिकारिक MJML प्लगइन। दोनों BSD-3-Clause हैं।

npm install grapesjs grapesjs-mjml
संपादक को टेम्पलेट पर माउंट करनाJS
import grapesjs from 'grapesjs';
import grapesjsMjml from 'grapesjs-mjml';
import 'grapesjs/dist/css/grapes.min.css';

// One editor instance per template being edited. The template id — not a page
// id — is what every load and store call is keyed by.
const editor = grapesjs.init({
  container: '#template-editor',
  plugins: [grapesjsMjml],
  pluginsOpts: {
    [grapesjsMjml]: {
      imagePlaceholderSrc: 'https://cdn.your-app.com/email/placeholder.png',
    },
  },
  storageManager: {
    type: 'remote',
    autosave: true,
    stepsBeforeSave: 10,
  },
});

सहेजना वह जगह है जहां एक टेम्पलेट बिल्डर संपादक बनना बंद कर देता है। "टेम्पलेट के रूप में सहेजें" एक पंक्ति बनाता है जो आपके ग्राहक के पास है; फिर से सहेजना एक संस्करण को अधिलेखित करने के बजाय जोड़ता है।

एक टेम्पलेट और एक संस्करण बनानाJS
// "Save as new template" — a row your customer owns from now on.
async function saveAsTemplate(name) {
  const res = await fetch('/api/templates', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      name,
      project: editor.getProjectData(), // re-openable in the editor
    }),
  });
  return res.json(); // { id, name, version: 1 }
}

// Editing an existing template appends a version rather than overwriting it,
// so "restore the version we sent last Tuesday" stays a query, not a restore.
async function saveVersion(templateId) {
  await fetch(`/api/templates/${templateId}/versions`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ project: editor.getProjectData() }),
  });
}
  1. कोर और MJML प्लगइन स्थापित करें
  2. टेम्पलेट आईडी द्वारा कुंजी वाले संपादक को माउंट करें
  3. अपने ब्लॉक और बाउंड घटकों को पंजीकृत करें
  4. अपने स्वयं के लिए तार भंडारण API
  5. टेम्पलेट के रूप में सहेजें और संस्करण जोड़ें
  6. प्रदान किए गए HTML को अपने प्रदाता को सौंपें

फ्रेमवर्क की बारीकियां अपने स्वयं के पृष्ठों पर रहती हैं - यह पृष्ठ उद्देश्य पर फ्रेमवर्क-तटस्थ रहता है।

भेंट

ईमेल टेम्पलेट बिल्डर्स कौन बनाता है?

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

SaaS कंपनियां

अपने अनुप्रयोग में विज़ुअल ईमेल संपादन एम्बेड करें, ताकि ग्राहक किसी अलग टूल पर निर्यात करना बंद कर दें.

ईमेल प्लेटफॉर्म

ग्राहकों को एक अभियान बिल्डर दें जिसके टेम्पलेट का आप संस्करण, ऑडिट और समर्थन कर सकते हैं।

डेवलपर्स

कैनवास और इतिहास स्टैक लिखने के बजाय एक एक्स्टेंसिबल संपादन फाउंडेशन से शुरू करें।

एजेंसियों

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

उत्पाद टीम

संपादक कोर और उसके रखरखाव के बिना ईमेल निर्माण को हमेशा के लिए जोड़ें।

विपणन मंच

उपयोगकर्ताओं को मार्कअप लिखे बिना या टिकट दाखिल किए बिना ऑन-ब्रांड ईमेल बनाने दें।

संबंधित समाधान

कुछ और विशिष्ट खोज रहे हैं?

यह पृष्ठ टेम्पलेट सिस्टम के बारे में है। ये पड़ोसी प्रश्नों को कवर करते हैं।

FAQ

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

शुरू हो जाओ

नेत्रहीन रूप से ईमेल बनाएं। संपादक को अपने तरीके से बनाएं।

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

इसे स्वयं करें

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

कोर स्थापित करें, संपादक और तार भंडारण को अपने API पर माउंट करें।

त्वरित प्रारंभ पढ़ें
इसे सौंप दो

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

हमें बताएं कि आपके टेम्पलेट सिस्टम को क्या करना है, और हम बिल्ड को स्कोप करेंगे।

एक संक्षिप्त प्रारंभ करें

संबंधित पढ़ना