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സന്ദേശം വായിക്കുന്നതിന് മുമ്പ് ഒപ്പും ടൈംസ്റ്റാമ്പ് 5 മിനിറ്റിനുള്ളിലാണോ എന്നും Yuva പരിശോധിക്കുന്നു. തെറ്റായ ഒപ്പുള്ള അഭ്യർഥന നിരസിക്കപ്പെടും.
- 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-മായി ബന്ധിച്ചിട്ടില്ല
/ingress/email വിളിക്കാനുള്ള ഒരു വഴിയാണ് Worker. ഏത് മെയിൽ സെർവറിനോ റിലേയ്ക്കോ അതേ ഒപ്പിട്ട ഹെഡറുകളോടെ റോ സന്ദേശം പോസ്റ്റ് ചെയ്യാം, ഒരു കമാൻഡിലേക്ക് ഡെലിവർ ചെയ്യുന്ന മെയിൽ സെർവറിന് സന്ദേശം yuva ingest-email-ലേക്ക് പൈപ്പ് ചെയ്യാം. അഭ്യർഥനയുടെ ഫോർമാറ്റ് Worker-ന്റെ README-യിൽ രേഖപ്പെടുത്തിയിട്ടുണ്ട്.
ചോദ്യങ്ങളും ഉത്തരങ്ങളും
എനിക്ക് ഒരു മെയിൽ സെർവർ പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ടോ?
ഇൻകമിംഗ് മെയിലിനല്ല. Yuva SMTP കേൾക്കുന്നില്ല; Cloudflare Email Routing മെയിൽ സ്വീകരിക്കുകയും Worker അത് കൈമാറുകയും ചെയ്യുന്നു. മറുപടികൾക്ക് ഇമെയിൽ ചാനലിനായി Amazon SES, Postmark അല്ലെങ്കിൽ നിങ്ങളുടെ സ്വന്തം റിലേ പോലുള്ള SMTP അക്കൗണ്ട് വേണം.
Yuva പ്രവർത്തനരഹിതമാകുമ്പോൾ എന്ത് സംഭവിക്കും?
FALLBACK_FORWARD സജ്ജമാക്കിയിട്ടുണ്ടെങ്കിൽ സന്ദേശം പകരം ആ വിലാസത്തിലേക്ക് ഫോർവേഡ് ചെയ്യുന്നു. ഇല്ലെങ്കിൽ ഡെലിവറി പരാജയപ്പെടുകയും അയയ്ക്കുന്ന സെർവർ വീണ്ടും ശ്രമിക്കുകയും ചെയ്തേക്കാം. അജ്ഞാത വിലാസത്തിലേക്കുള്ള മെയിൽ പോലെ Yuva മനഃപൂർവം നിരസിക്കുന്ന സന്ദേശങ്ങൾ നിരസിക്കപ്പെടുന്നു, ഫോർവേഡ് ചെയ്യപ്പെടുന്നില്ല.
ഏതൊക്കെ ഡൊമെയ്നുകളും വിലാസങ്ങളും എനിക്ക് ഉപയോഗിക്കാം?
നിങ്ങൾ Cloudflare-ൽ നിയന്ത്രിക്കുന്നതും മറ്റൊരു സെർവറും മെയിൽ കൈകാര്യം ചെയ്യാത്തതുമായ ഏത് ഡൊമെയ്നും, കാരണം Email Routing അതിന്റെ MX ആയി മാറുന്നു. ഓരോ ഇമെയിൽ ചാനലിനും ഒരു വിലാസമുണ്ട്, അല്ലെങ്കിൽ ഒരു ചാനലിനും കൃത്യമായി ഇല്ലാത്ത ഡൊമെയ്നിലെ എല്ലാ വിലാസങ്ങൾക്കുമായി ക്യാച്ച്-ഓൾ *@example.com. support+billing@example.com പോലുള്ള ഉപ-വിലാസം support@example.com-ന്റെ ചാനലിൽ എത്തുന്നു.
ഒരു സന്ദേശത്തിന് എത്ര വലുതാകാം?
അറ്റാച്ച്മെന്റുകൾ ഉൾപ്പെടെ ഒരു സന്ദേശത്തിന് 25 MiB വരെ ആകാം, ഇതാണ് Cloudflare Email Routing-ന്റെ പരിധി. ഓരോ സന്ദേശത്തിനും 50 അറ്റാച്ച്മെന്റുകൾ വരെ Yuva സൂക്ഷിക്കുന്നു, ഓരോന്നും സെർവറിന്റെ അറ്റാച്ച്മെന്റ് വലുപ്പ പരിധിക്കുള്ളിലും (ഡിഫോൾട്ടായി 25 MiB) അനുവദനീയമായ തരങ്ങളിലും ആയിരിക്കണം; ബാക്കിയുള്ളവ ഒഴിവാക്കുന്നു.
എന്റെ Yuva സെർവറിലേക്ക് ആർക്കെങ്കിലും വ്യാജ മെയിൽ അയയ്ക്കാനാകുമോ?
സാധുവായ HMAC ഒപ്പില്ലാത്തതോ ടൈംസ്റ്റാമ്പ് 5 മിനിറ്റിലധികം വ്യത്യാസമുള്ളതോ ആയ ഏത് അഭ്യർഥനയും ബോഡി വായിക്കുന്നതിന് മുമ്പ് Yuva നിരസിക്കുന്നു. സീക്രട്ട് നിങ്ങളുടെ കയ്യിൽ തന്നെ സൂക്ഷിക്കുക.
Cloudflare-ന്റെ DMARC ഫലം Yuva ഉപയോഗിക്കുന്നുണ്ടോ?
അതെ, നിങ്ങൾ YUVA_INGRESS_AUTHSERV_ID mx.cloudflare.net ആയി സജ്ജമാക്കുമ്പോൾ. അപ്പോൾ Email Routing ചേർക്കുന്ന DMARC വിധി Yuva വായിക്കുന്നു. DMARC-ൽ പരാജയപ്പെടുന്ന പുതിയ സംഭാഷണം സ്പാം ആയി അടയാളപ്പെടുത്തുന്നു.
Cloudflare, Cloudflare ലോഗോ, Cloudflare Workers എന്നിവ അമേരിക്കൻ ഐക്യനാടുകളിലും മറ്റ് അധികാരപരിധികളിലും Cloudflare, Inc.-ന്റെ വ്യാപാരമുദ്രകളും/അല്ലെങ്കിൽ രജിസ്റ്റർ ചെയ്ത വ്യാപാരമുദ്രകളുമാണ്. Yuva ഒരു സ്വതന്ത്ര ഓപ്പൺ-സോഴ്സ് പ്രോജക്റ്റാണ്, Cloudflare-മായി ബന്ധപ്പെട്ടതോ അവരുടെ അംഗീകാരമുള്ളതോ അല്ല.