ବିଷୟବସ୍ତୁକୁ ଯାଆନ୍ତୁ
Yuva

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. 1ଜଣେ ଗ୍ରାହକ ଆପଣଙ୍କ ସପୋର୍ଟ ଠିକଣାମାନଙ୍କ ମଧ୍ୟରୁ ଗୋଟିଏକୁ ଲେଖନ୍ତି, ଯେପରି support@example.com।
  2. 2Cloudflare Email Routing ବାର୍ତ୍ତା ଗ୍ରହଣ କରି Yuva Email Worker କୁ ଦିଏ।
  3. 3Worker କଞ୍ଚା ବାର୍ତ୍ତା, ଉଭୟ ଏନଭେଲପ୍ ଠିକଣା ଓ ଏକ ଟାଇମ୍‌ଷ୍ଟାମ୍ପକୁ ଆପଣ Yuva ସହ ସାଝା କରିଥିବା ସିକ୍ରେଟ୍ ଅଧୀନରେ HMAC-SHA256 ରେ ସ୍ୱାକ୍ଷର କରି ଆପଣଙ୍କ Yuva ସର୍ଭରର /ingress/email କୁ ପଠାଏ।
  4. 4ବାର୍ତ୍ତା ପଢ଼ିବା ପୂର୍ବରୁ Yuva ସ୍ୱାକ୍ଷର ଓ ଟାଇମ୍‌ଷ୍ଟାମ୍ପ 5 ମିନିଟ୍ ମଧ୍ୟରେ ଅଛି କି ନାହିଁ ଯାଞ୍ଚ କରେ। ଭୁଲ ସ୍ୱାକ୍ଷର ଥିବା ଅନୁରୋଧ ପ୍ରତ୍ୟାଖ୍ୟାନ ହୁଏ।
  5. 5Yuva ପ୍ରାପକ ଠିକଣାର ଇମେଲ ଚ୍ୟାନେଲ ଖୋଜେ ଏବଂ In-Reply-To ଓ References ଦ୍ୱାରା ବାର୍ତ୍ତାକୁ ଯେଉଁ କଥାବାର୍ତ୍ତାର ସେ ଅଂଶ ତହିଁରେ ଥ୍ରେଡ୍ କରେ। ଅନ୍ୟ ସବୁ କିଛି ନୂଆ କଥାବାର୍ତ୍ତା ଆରମ୍ଭ କରେ। ଉତ୍ତର କଥାବାର୍ତ୍ତାକୁ ପୁଣି ଖୋଲେ।
  6. 6ଆପଣଙ୍କ ଦଳ ପ୍ୟାନେଲରେ ଉତ୍ତର ଦିଏ। ଉତ୍ତର ଇମେଲ ଚ୍ୟାନେଲର ନିଜ SMTP ଖାତା ମାଧ୍ୟମରେ, ଯେପରି Amazon SES, Postmark କିମ୍ବା ଆପଣଙ୍କ ନିଜ ରିଲେ, ସେହି ଠିକଣାରୁ ଓ ସେହି ଥ୍ରେଡ୍‌ରେ ପଠାଯାଏ। ଉତ୍ତର Worker ଦେଇ ଯାଏ ନାହିଁ।

ପ୍ରତ୍ୟାଖ୍ୟାନ ପ୍ରେରକଙ୍କ ପାଖରେ ପହଞ୍ଚେ

ଅଜଣା ଠିକଣା, ଅବରୋଧିତ ପ୍ରେରକ କିମ୍ବା ଅତ୍ୟଧିକ ବଡ଼ ବାର୍ତ୍ତା ଭଳି କାରଣରୁ Yuva ଏକ ବାର୍ତ୍ତାକୁ ସ୍ଥାୟୀ ଭାବେ ପ୍ରତ୍ୟାଖ୍ୟାନ କଲେ, Worker ତାହା ପ୍ରତ୍ୟାଖ୍ୟାନ କରେ ଏବଂ ପ୍ରେରକ Yuva ର କାରଣ ସହ ଏକ ସ୍ଥାୟୀ SMTP ତ୍ରୁଟି ପାଏ।

Yuva ପହଞ୍ଚି ନ ପାରିଲେ

Yuva ସର୍ଭର ତ୍ରୁଟି ସହ ଉତ୍ତର ଦେଲେ, 20 ସେକେଣ୍ଡରେ ଉତ୍ତର ନ ଦେଲେ କିମ୍ବା ପହଞ୍ଚି ନ ପାରିଲେ, ଆପଣ FALLBACK_FORWARD ସେଟ୍ କରିଥିଲେ Worker ବାର୍ତ୍ତାକୁ ଆପଣ ବାଛିଥିବା ଠିକଣାକୁ ଫରୱାର୍ଡ କରିପାରେ। ସେହି ଠିକଣା Email Routing ରେ ଯାଞ୍ଚ ହୋଇଥିବା ଗନ୍ତବ୍ୟ ହେବା ଦରକାର। ତା’ପରେ ବାର୍ତ୍ତା ସାଧାରଣ ଫରୱାର୍ଡ ଭାବେ ପହଞ୍ଚେ ଏବଂ Yuva ରେ ଦେଖାଯାଏ ନାହିଁ। FALLBACK_FORWARD ବିନା ଡେଲିଭରି ତ୍ରୁଟି ସହ ବିଫଳ ହୁଏ ଏବଂ ପଠାଉଥିବା ସର୍ଭର ପରେ ପୁଣି ଚେଷ୍ଟା କରିପାରେ।

କିଛି ପଦକ୍ଷେପରେ ସେଟ୍ ଅପ୍ କରନ୍ତୁ

ଆପଣଙ୍କୁ ଏକ Yuva ସର୍ଭର ଓ ଡୋମେନ୍ ପରିଚାଳନା କରୁଥିବା ଏକ Cloudflare ଖାତା ଦରକାର।

  1. 1

    Yuva ରେ ସେଟିଂସ୍ → ଆପଣଙ୍କ ଇନବକ୍ସ → ଚ୍ୟାନେଲ୍ → ଇମେଲ ଖୋଲି ସପୋର୍ଟ ଠିକଣା ଯୋଗ କରନ୍ତୁ। ସର୍ଭରରେ ଏକ ସିକ୍ରେଟ୍ ସେଟ୍ କରି ପୁନଃଆରମ୍ଭ କରନ୍ତୁ:

    YUVA_INGRESS_SECRET=<openssl rand -hex 32>
    YUVA_INGRESS_AUTHSERV_ID=mx.cloudflare.net
  2. 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. 3

    Cloudflare ଡ୍ୟାସବୋର୍ଡରେ ଆପଣଙ୍କ ଡୋମେନ୍ → Email → Email Routing ଖୋଲି ସକ୍ରିୟ କରନ୍ତୁ। Cloudflare ଏହାର MX ଓ SPF ରେକର୍ଡ ଯୋଗ କରେ।

  4. 4

    Routing rules ଅଧୀନରେ ପ୍ରତ୍ୟେକ ସପୋର୍ଟ ଠିକଣାକୁ Worker yuva-edge କୁ ପଠାନ୍ତୁ। କ୍ୟାଚ୍-ଅଲ୍ ଚ୍ୟାନେଲ୍ ପାଇଁ କ୍ୟାଚ୍-ଅଲ୍ ନିୟମକୁ ତାହା ଆଡ଼କୁ ମୁହାଁନ୍ତୁ।

  5. 5

    ଏକ ପରୀକ୍ଷା ବାର୍ତ୍ତା ପଠାନ୍ତୁ ଏବଂ ପ୍ୟାନେଲରେ କଥାବାର୍ତ୍ତା ଦେଖାଯିବା ଦେଖନ୍ତୁ।

  6. 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 ଆଗକୁ ଦିଏ। ଉତ୍ତର ପାଇଁ ଇମେଲ ଚ୍ୟାନେଲର 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 ର ସୀମା। Yuva ପ୍ରତି ବାର୍ତ୍ତାରେ 50ଟି ସଂଲଗ୍ନକ ପର୍ଯ୍ୟନ୍ତ ରଖେ, ପ୍ରତ୍ୟେକଟି ସର୍ଭରର ସଂଲଗ୍ନକ ଆକାର ସୀମା (ଡିଫଲ୍ଟ 25 MiB) ଓ ଅନୁମୋଦିତ ପ୍ରକାର ମଧ୍ୟରେ ରହିବା ଦରକାର; ବାକିଗୁଡ଼ିକୁ ଛାଡ଼ିଦିଏ।

ମୋ Yuva ସର୍ଭରକୁ କେହି ନକଲି ମେଲ୍ ପଠାଇପାରିବେ କି?

ବୈଧ HMAC ସ୍ୱାକ୍ଷର ନଥିବା କିମ୍ବା 5 ମିନିଟରୁ ଅଧିକ ଫରକ ଥିବା ଟାଇମ୍‌ଷ୍ଟାମ୍ପ ଥିବା ଯେକୌଣସି ଅନୁରୋଧକୁ Yuva ମୂଳ ଅଂଶ ପଢ଼ିବା ପୂର୍ବରୁ ପ୍ରତ୍ୟାଖ୍ୟାନ କରେ। ସିକ୍ରେଟ୍‌କୁ ନିଜ ପାଖରେ ରଖନ୍ତୁ।

Yuva Cloudflare ର DMARC ଫଳାଫଳ ବ୍ୟବହାର କରେ କି?

ହଁ, ଯେତେବେଳେ ଆପଣ YUVA_INGRESS_AUTHSERV_ID କୁ mx.cloudflare.net ସେଟ୍ କରନ୍ତି। ତା’ପରେ Yuva Email Routing ଯୋଗ କରୁଥିବା DMARC ରାୟ ପଢ଼େ। DMARC ରେ ବିଫଳ ହେଉଥିବା ନୂଆ କଥାବାର୍ତ୍ତା ସ୍ପାମ୍ ଭାବେ ଚିହ୍ନିତ ହୁଏ।

Cloudflare, Cloudflare ଲୋଗୋ ଓ Cloudflare Workers ଯୁକ୍ତରାଷ୍ଟ୍ର ଓ ଅନ୍ୟ ଅଧିକାର କ୍ଷେତ୍ରରେ Cloudflare, Inc. ର ଟ୍ରେଡମାର୍କ ଏବଂ/କିମ୍ବା ପଞ୍ଜୀକୃତ ଟ୍ରେଡମାର୍କ। Yuva ଏକ ସ୍ୱାଧୀନ ଓପନ୍-ସୋର୍ସ ପ୍ରୋଜେକ୍ଟ, Cloudflare ସହ ସମ୍ପର୍କିତ ନୁହେଁ କିମ୍ବା ତାହାଦ୍ୱାରା ଅନୁମୋଦିତ ନୁହେଁ।