Email Account

Email Account किसी एक Space में पंजीकृत किया जाने वाला SMTP प्रेषक है। यह मेल भेजने के सर्वर पते, लॉगिन जानकारी और प्रेषक पते को एक साथ बाँधकर संग्रहीत करने वाला संसाधन है। Script का EmailSend statement चलने पर इसी Email Account के माध्यम से वास्तविक मेल भेजा जाता है। उदाहरण के लिए, किसी कपड़ों की दुकान वाले शॉपिंग मॉल में हर बार ऑर्डर आने पर पुष्टि मेल भेजने के लिए, पहले भेजने में उपयोग होने वाला Email Account पंजीकृत कर लिया जाता है और Script उसे संदर्भित करता है।

Email Account CMA द्वारा प्रबंधित Space का उप-संसाधन है, और इसका पथ /spaces/{spaceId}/email-accounts पर आधारित है। इसमें प्रकाशन (publish) की कोई अवधारणा नहीं है। किसी स्थिति-मान या प्रकाशन चरण के बिना, बनाते ही इसे तुरंत भेजने में उपयोग किया जा सकता है। इसके बजाय, नीचे इन बातों पर चर्चा की गई है कि निर्माण कोई अहानिकर पठन-मात्र कार्य नहीं, बल्कि वास्तव में एक मेल भेजकर सेटिंग को सत्यापित करने वाला कार्य है, और यह कि कनेक्शन जानकारी (endpoint·username·password) एक बार बना लेने पर बदली नहीं जा सकती।

संसाधन संरचना

नीचे Email Account बनाने पर मिलने वाली प्रतिक्रिया दी गई है। sys (सिस्टम गुण) में पहचानकर्ता और वर्शन, तथा मुख्य भाग में प्रेषक सेटिंग (name·endpoint·username·fromAddress·fromName) होती है। पासवर्ड (password) प्रतिक्रिया में कहीं भी नहीं आता।

{
  "sys": {
    "id": "3trmXRMdKpLc7GfNbyVQeR2WsT9LnU",
    "type": "EmailAccount",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "createdBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-08-04T05:12:44.108Z",
    "updatedBy": { "sys": { "id": "9dLmQ2pVnRb8sTfWcXd3LhJ7gK", "type": "Refer", "targetType": "User" } },
    "updatedAt": "2026-08-04T05:12:44.108Z",
    "version": 1
  },
  "name": "ऑर्डर सूचनाएँ",
  "endpoint": {
    "host": "smtp.gmail.com",
    "port": 587,
    "security": "StartTls"
  },
  "username": "orders@example-shop.com",
  "fromAddress": "orders@example-shop.com",
  "fromName": "कपड़ों की दुकान ऑर्डर"
}

मुख्य keys:

  • sys.id: Email Account का अद्वितीय पहचानकर्ता। यह एकल पठन·संशोधन·हटाने के पथ के {emailAccountId} में आता है।
  • sys.version: संसाधन वर्शन। यह 1 से शुरू होता है और हर बार संशोधन पर बढ़ता है। संशोधन अनुरोध में इस मान को X-Weegloo-Version header से भेजा जाता है (नीचे स्थिति और बाधाएँ देखें)।
  • name: कंसोल में दिखने वाला लेबल (उदाहरण: ऑर्डर सूचनाएँ)। यह भेजने में उपयोग नहीं होता और यह From प्रदर्शन-नाम नहीं है। यह केवल कई प्रेषकों में अंतर करने के लिए एक नाम है।
  • endpoint: जुड़ने वाला SMTP सर्वर। यह host·port·security इन तीन मानों से बनता है।
  • username: SMTP लॉगिन उपयोगकर्ता-नाम। यह प्रदाता के अनुसार भिन्न होता है। यह मेल पता स्वयं हो सकता है, भेजने वाली सेवा द्वारा तय की गई कोई नियत string हो सकती है, या domain-स्तरीय लॉगिन हो सकती है।
  • fromAddress: प्रेषक पता। यह लिफ़ाफ़े के वापसी-पते (MAIL FROM) और प्राप्तकर्ता को दिखने वाले From पते दोनों के रूप में एक साथ उपयोग होता है।
  • fromName: From header में दिखने वाला प्रदर्शन-नाम (वैकल्पिक)। न होने पर केवल पता दिखता है।

पासवर्ड (password) एक write-only मान है जिसे केवल निर्माण अनुरोध के मुख्य भाग में भेजा जाता है, इसलिए यह न ऊपर की प्रतिक्रिया में, न ही किसी बाद के पठन·सूची में लौटता है। username पठन प्रतिक्रिया में उसी रूप में लौटता है जैसा आपने उसे डाला था।

सिस्टम गुण (sys)

हर Email Account सामान्य सिस्टम गुणों को sys ऑब्जेक्ट में रखता है। space, createdBy, updatedBy Refer आकार ({ "sys": { "id", "type": "Refer", "targetType" } }) में आते हैं।

गुणटाइपविवरण
idstringसंसाधन अद्वितीय पहचानकर्ता।
typestringसंसाधन प्रकार। Email Account हमेशा "EmailAccount"
spaceRefer<Space>वह Space जिससे यह प्रेषक संबंधित है।
createdByRefer<User>पंजीकृत करने वाला उपयोगकर्ता।
createdAtstring (date-time)निर्माण समय।
updatedByRefer<User>अंतिम बार संशोधन करने वाला उपयोगकर्ता।
updatedAtstring (date-time)अंतिम संशोधन समय।
versioninteger (≥1)संसाधन वर्शन। संशोधन के समय X-Weegloo-Version header से वर्तमान मान भेजा जाता है।

मुख्य भाग के गुण:

गुणटाइपविवरण
namestring (1~64)कंसोल में दिखने वाला लेबल। भेजने में उपयोग नहीं होता और यह From प्रदर्शन-नाम नहीं है।
endpointSmtpEndpointजुड़ने वाला SMTP सर्वर (host·port·security)।
endpoint.hoststringSMTP सर्वर होस्ट (उदाहरण: smtp.gmail.com)।
endpoint.portinteger (1~65535)SMTP पोर्ट। परंपरा के अनुसार 587 StartTls के साथ और 465 Tls के साथ जोड़ी बनाता है।
endpoint.securitystringट्रांसपोर्ट-स्तरीय सुरक्षा। StartTls या Tls में से एक। चूँकि पासवर्ड का आदान-प्रदान होता है, इसलिए सादा (plaintext) कनेक्शन अनुमत नहीं है।
usernamestringSMTP लॉगिन उपयोगकर्ता-नाम। प्रदाता के अनुसार भिन्न, और यह मेल पता न भी हो सकता है।
fromAddressstring (email, ≤254)प्रेषक पता। लिफ़ाफ़े के वापसी-पते (MAIL FROM) और From header के रूप में उपयोग होता है। सर्वर इसे पुनः लिख सकता है (उदाहरण: Gmail इसे प्रमाणित खाते पर बाध्य कर देता है)।
fromNamestringFrom header प्रदर्शन-नाम। वैकल्पिक। न होने पर केवल पता दिखता है।

केवल निर्माण अनुरोध के मुख्य भाग में दिया जाने वाला इनपुट:

गुणटाइपविवरण
passwordstringSMTP लॉगिन पासवर्ड। यह write-only है। यह किसी भी प्रतिक्रिया में नहीं आता, इसका मान दोबारा पढ़ा नहीं जा सकता, और केवल प्रतिस्थापन (पुनर्निर्माण) ही संभव है। अनिवार्य।

प्रेषक जानकारी और कनेक्शन जानकारी

Email Account के मान दो प्रकारों में बँटते हैं। यह भेद तय करता है कि क्या संशोधित किया जा सकता है।

  • कनेक्शन जानकारी — endpoint·username·password. निर्माण के बाद इन्हें बदला नहीं जा सकता। भेजने वाला सर्वर बदलते समय या लॉगिन जानकारी घुमाते (rotate) समय, एक नया Email Account बनाकर पुराने को हटा दिया जाता है। पासवर्ड ऊपर बताए अनुसार दोबारा नहीं पढ़ा जा सकता, इसलिए खो जाने पर इसे रीसेट के बजाय पुनर्निर्माण से संभाला जाता है।
  • प्रेषक जानकारी — name·fromAddress·fromName. निर्माण के बाद भी संशोधन (PUT) से बदली जा सकती है। लेबल व्यवस्थित करते समय या प्रेषक पता·प्रदर्शन-नाम बदलते समय इसका उपयोग होता है, और तब कनेक्शन जानकारी ज्यों-की-त्यों बनी रहती है।

निर्माण के समय वास्तविक मेल भेजा जाता है

Email Account का निर्माण केवल सेटिंग सहेजने वाला कार्य नहीं है। सहेजने से पहले सर्वर दिए गए endpoint·username·password से वास्तव में कनेक्ट होकर एक टेस्ट मेल भेजता है। भेजने का लक्ष्य fromAddress होता है, और यदि username कोई अन्य पता हो तो वह पता भी शामिल हो सकता है।

  • भेजना सफल होने पर ही संसाधन सहेजा जाता है।
  • यदि सर्वर कनेक्शन·प्रमाणीकरण·भेजने में से किसी भी चरण पर अस्वीकार करता है, तो कुछ भी नहीं बनता और यह विफल हो जाता है, और प्रतिक्रिया में सर्वर द्वारा लौटाया गया विफलता का कारण साथ आता है।

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

स्थिति और बाधाएँ

निर्माण·संशोधन के समय पालन की जाने वाली मान-बाधाएँ:

लक्ष्यबाधा
name1~64 अक्षर, अनिवार्य।
endpoint.hostअनिवार्य।
endpoint.port1~65535, अनिवार्य।
endpoint.securityStartTls या Tls, अनिवार्य। सादा (plaintext) असंभव।
usernameअनिवार्य (निर्माण के समय)। निर्माण के बाद अपरिवर्तनीय।
passwordअनिवार्य (निर्माण के समय), write-only। निर्माण के बाद अपरिवर्तनीय (प्रतिस्थापन = पुनर्निर्माण)।
fromAddressईमेल प्रारूप, 254 अक्षर या कम, अनिवार्य।
fromNameवैकल्पिक।

व्यवहार और अनुमति के नियम:

  • कनेक्शन जानकारी अपरिवर्तनीय है। Update (PUT) से केवल name·fromAddress·fromName ही बदले जा सकते हैं। endpoint·username·password बदलने के लिए नया बनाकर पुराने को हटा दिया जाता है।
  • संशोधन के लिए वर्शन आवश्यक है। Update अनुरोध में वर्तमान sys.version मान को X-Weegloo-Version header से भेजा जाता है। मान नवीनतम न होने पर वर्शन टकराव के कारण अस्वीकृत हो जाता है। तब संसाधन को दोबारा पढ़कर नवीनतम sys.version के साथ पुनः प्रयास किया जाता है।
  • पासवर्ड दोबारा नहीं पढ़ा जा सकता। यह किसी भी पठन·सूची में नहीं आता, इसलिए खो जाने पर इसे रीसेट के बजाय पुनर्निर्माण से संभाला जाता है।
  • प्लान के अनुसार उपयोग किए जा सकने वाले SMTP सर्वर भिन्न होते हैं। प्रीसेट के रूप में प्रदान किए गए प्रदाता होस्ट (Gmail·Naver·Resend·Brevo) निचले प्लान में भी पंजीकृत किए जा सकते हैं। प्रीसेट में न होने वाला कोई भी (स्व-होस्ट किया गया) होस्ट तभी उपयोग किया जा सकता है जब भुगतान का साधन पंजीकृत हो। प्लान-आधारित नीति के लिए मूल्य योजनाएं देखें।

API

नीचे दिए सभी एंडपॉइंट का आधार URL https://cma.weegloo.com/v1 है, और Authorization header में CMA को प्रमाणित करने वाला Bearer टोकन आवश्यक है। संशोधन (PUT) के लिए अतिरिक्त रूप से X-Weegloo-Version header आवश्यक है।

  • Script: EmailSend statement से इस Email Account के माध्यम से मेल भेजा जाता है।
  • SpaceRole: इस Space के संसाधनों तक पहुँच की अनुमति परिभाषित करने वाली भूमिका।
  • मूल्य योजनाएं: प्रीसेट प्रदाता होस्ट और कोई भी (स्व-होस्ट किया गया) SMTP होस्ट के उपयोग की नीति।