Cloudflare के लिए Yuva Email Worker
Cloudflare के ज़रिए सपोर्ट ईमेल।चलाने के लिए कोई मेल सर्वर नहीं।
Cloudflare® Email Routing आपके सपोर्ट पतों का मेल प्राप्त करता है, और ओपन-सोर्स Yuva Email Worker हर संदेश पर हस्ताक्षर करके Yuva को सौंपता है। वह आपके साझा इनबॉक्स में एक बातचीत के रूप में आता है, जिसका जवाब आपकी टीम देती है।
यह क्या है
आगे Email Routing
Cloudflare Email Routing आपके डोमेन का MX बनकर मेल प्राप्त करता है। Yuva SMTP नहीं सुनता, इसलिए इंस्टॉल करने या अपडेट रखने के लिए कोई मेल सर्वर नहीं है।
एक छोटा ओपन-सोर्स Worker
Yuva Email Worker कच्चा संदेश और एनवेलप पढ़ता है, अनुरोध पर हस्ताक्षर करता है और उसे Yuva को पोस्ट करता है। पार्सिंग, थ्रेडिंग और स्पैम के फ़ैसले सर्वर पर रहते हैं।
असली बातचीत
सपोर्ट पते पर आया मेल इनबॉक्स में बातचीत खोलता या जारी रखता है, और टीम चैट तथा ऐप संदेशों वाले उसी पैनल से जवाब देती है।
संदेश ग्राहक से आपकी टीम तक कैसे पहुँचता है
- 1कोई ग्राहक आपके किसी सपोर्ट पते पर लिखता है, जैसे support@example.com।
- 2Cloudflare Email Routing संदेश प्राप्त करके Yuva Email Worker को देता है।
- 3Worker कच्चे संदेश, दोनों एनवेलप पतों और एक टाइमस्टैम्प पर, Yuva के साथ साझा किए गए सीक्रेट के तहत HMAC-SHA256 से हस्ताक्षर करता है और उन्हें आपके Yuva सर्वर के /ingress/email पर भेजता है।
- 4संदेश पढ़ने से पहले Yuva हस्ताक्षर और यह जाँचता है कि टाइमस्टैम्प 5 मिनट के भीतर है। गलत हस्ताक्षर वाला अनुरोध अस्वीकार कर दिया जाता है।
- 5Yuva प्राप्तकर्ता के पते का ईमेल चैनल खोजता है और संदेश को In-Reply-To और References के ज़रिए उस बातचीत में थ्रेड करता है जिसका वह हिस्सा है। बाकी सब कुछ नई बातचीत शुरू करता है। जवाब बातचीत को फिर से खोलता है।
- 6आपकी टीम पैनल में जवाब देती है। जवाब ईमेल चैनल के अपने SMTP खाते से, जैसे Amazon SES, Postmark या आपका अपना रिले, उसी पते से और उसी थ्रेड में भेजा जाता है। जवाब Worker से होकर नहीं जाते।
अस्वीकृति भेजने वाले तक पहुँचती है
जब Yuva किसी संदेश को हमेशा के लिए अस्वीकार करता है, जैसे अज्ञात पता, ब्लॉक किया गया प्रेषक या बहुत बड़ा संदेश, तो Worker उसे अस्वीकार करता है और प्रेषक को Yuva के कारण के साथ स्थायी SMTP त्रुटि मिलती है।
अगर Yuva तक पहुँचा न जा सके
अगर Yuva सर्वर त्रुटि के साथ जवाब देता है, 20 सेकंड में जवाब नहीं देता या पहुँच से बाहर है, तो FALLBACK_FORWARD सेट होने पर Worker संदेश को आपके चुने हुए पते पर फ़ॉरवर्ड कर सकता है। वह पता Email Routing में सत्यापित गंतव्य होना चाहिए। तब संदेश सादे फ़ॉरवर्ड के रूप में आता है और Yuva में नहीं दिखता। FALLBACK_FORWARD के बिना डिलीवरी त्रुटि के साथ विफल हो जाती है और भेजने वाला सर्वर बाद में फिर कोशिश कर सकता है।
कुछ ही चरणों में सेट अप करें
आपको एक Yuva सर्वर और डोमेन प्रबंधित करने वाला एक Cloudflare खाता चाहिए।
- 1
Yuva में सेटिंग → आपका इनबॉक्स → चैनल → ईमेल खोलें और सपोर्ट पता जोड़ें। सर्वर पर एक सीक्रेट सेट करें और उसे रीस्टार्ट करें:
YUVA_INGRESS_SECRET=<openssl rand -hex 32> YUVA_INGRESS_AUTHSERV_ID=mx.cloudflare.net
- 2
उसी सीक्रेट के साथ Worker को अपने Cloudflare खाते में डिप्लॉय करें:
cd edge bun install bunx wrangler login bunx wrangler secret put INGRESS_SECRET bunx wrangler deploy --var YUVA_URL:https://support.example.com
- 3
Cloudflare डैशबोर्ड में अपना डोमेन → Email → Email Routing खोलें और उसे चालू करें। Cloudflare अपने MX और SPF रिकॉर्ड जोड़ देता है।
- 4
Routing rules के तहत हर सपोर्ट पते को Worker yuva-edge पर भेजें। कैच-ऑल चैनल के लिए कैच-ऑल नियम को उसी की ओर करें।
- 5
एक टेस्ट संदेश भेजें और पैनल में बातचीत को दिखते देखें।
- 6
वैकल्पिक: डिप्लॉय कमांड में फ़ॉलबैक पता जोड़कर आउटेज के दौरान मेल बचाए रखें:
bunx wrangler deploy --var YUVA_URL:https://support.example.com --var FALLBACK_FORWARD:you@example.org
Email Routing डोमेन का MX बन जाता है, इसलिए ऐसा डोमेन या सबडोमेन इस्तेमाल करें जिसे कोई और मेल सर्वर न संभालता हो।
सेटअप गाइड पढ़ें →Cloudflare से बँधा नहीं
Worker /ingress/email को कॉल करने का एक तरीका है। कोई भी मेल सर्वर या रिले उन्हीं हस्ताक्षरित हेडर के साथ कच्चा संदेश पोस्ट कर सकता है, और कमांड को डिलीवर करने वाला मेल सर्वर संदेश को yuva ingest-email में पाइप कर सकता है। अनुरोध का फ़ॉर्मैट Worker के README में दस्तावेज़ित है।
सवाल और जवाब
क्या मुझे मेल सर्वर चलाना होगा?
आने वाले मेल के लिए नहीं। Yuva SMTP नहीं सुनता; Cloudflare Email Routing मेल प्राप्त करता है और Worker उसे आगे देता है। जवाबों के लिए ईमेल चैनल का SMTP खाता चाहिए, जैसे Amazon SES, Postmark या आपका अपना रिले।
जब Yuva बंद हो तो क्या होता है?
FALLBACK_FORWARD सेट होने पर संदेश उसके बजाय उस पते पर फ़ॉरवर्ड हो जाता है। उसके बिना डिलीवरी विफल होती है और भेजने वाला सर्वर फिर कोशिश कर सकता है। जिन संदेशों को Yuva जानबूझकर अस्वीकार करता है, जैसे अज्ञात पते पर मेल, वे अस्वीकार होते हैं, फ़ॉरवर्ड नहीं।
मैं कौन से डोमेन और पते इस्तेमाल कर सकता हूँ?
Cloudflare में आपके द्वारा प्रबंधित कोई भी डोमेन, जिसका मेल कोई दूसरा सर्वर नहीं संभालता, क्योंकि Email Routing उसका MX बन जाता है। हर ईमेल चैनल का एक पता होता है, या डोमेन के उन सभी पतों के लिए कैच-ऑल *@example.com, जो किसी चैनल के पास ठीक-ठीक नहीं है। support+billing@example.com जैसा सब-एड्रेस support@example.com के चैनल तक पहुँचता है।
संदेश कितना बड़ा हो सकता है?
अटैचमेंट सहित एक संदेश 25 MiB तक हो सकता है, जो Cloudflare Email Routing की सीमा है। Yuva प्रति संदेश 50 अटैचमेंट तक रखता है, हर एक सर्वर की अटैचमेंट-आकार सीमा (डिफ़ॉल्ट रूप से 25 MiB) और अनुमत प्रकारों के भीतर होना चाहिए; बाकी को छोड़ देता है।
क्या कोई मेरे Yuva सर्वर पर नकली मेल भेज सकता है?
Yuva बॉडी पढ़ने से पहले ऐसे हर अनुरोध को अस्वीकार करता है जिसमें मान्य HMAC हस्ताक्षर नहीं है या टाइमस्टैम्प 5 मिनट से ज़्यादा अलग है। सीक्रेट अपने पास रखें।
क्या Yuva Cloudflare का DMARC नतीजा इस्तेमाल करता है?
हाँ, जब आप YUVA_INGRESS_AUTHSERV_ID को mx.cloudflare.net पर सेट करते हैं। तब Yuva वह DMARC फ़ैसला पढ़ता है जो Email Routing जोड़ता है। DMARC में विफल होने वाली नई बातचीत को स्पैम चिह्नित किया जाता है।
Cloudflare, Cloudflare लोगो और Cloudflare Workers संयुक्त राज्य अमेरिका और अन्य क्षेत्राधिकारों में Cloudflare, Inc. के ट्रेडमार्क और/या पंजीकृत ट्रेडमार्क हैं। Yuva एक स्वतंत्र ओपन-सोर्स प्रोजेक्ट है, जो Cloudflare से संबद्ध नहीं है और न ही उसके द्वारा समर्थित है।