মূল অংশে যান
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. 5Yuva প্রাপকের ঠিকানার ইমেইল চ্যানেল খুঁজে নেয় এবং In-Reply-To ও References দিয়ে বার্তাটিকে যে কথোপকথনের অংশ তাতে থ্রেড করে। অন্য সবকিছু নতুন কথোপকথন শুরু করে। উত্তর এলে কথোপকথন আবার খোলে।
  6. 6আপনার টিম প্যানেলে উত্তর দেয়। উত্তর ইমেইল চ্যানেলের নিজস্ব SMTP অ্যাকাউন্ট দিয়ে, যেমন Amazon SES, Postmark বা আপনার নিজস্ব রিলে, একই ঠিকানা থেকে ও একই থ্রেডে যায়। উত্তর Worker দিয়ে যায় না।

প্রত্যাখ্যান প্রেরকের কাছে পৌঁছায়

Yuva যখন কোনো বার্তা চূড়ান্তভাবে প্রত্যাখ্যান করে, যেমন অচেনা ঠিকানা, ব্লক করা প্রেরক বা অতিরিক্ত বড় বার্তা, Worker সেটি প্রত্যাখ্যান করে এবং প্রেরক Yuva-র কারণসহ একটি স্থায়ী SMTP ত্রুটি পায়।

Yuva নাগালের বাইরে থাকলে

Yuva সার্ভার ত্রুটি দিলে, ২০ সেকেন্ডের মধ্যে সাড়া না দিলে বা নাগাল না পেলে, 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

    একই সিক্রেট ব্যবহার করে আপনার Cloudflare অ্যাকাউন্টে Worker ডিপ্লয় করুন:

    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-এর অধীনে প্রতিটি সাপোর্ট ঠিকানা yuva-edge নামের Worker-এ পাঠান। ক্যাচ-অল চ্যানেলের জন্য ক্যাচ-অল নিয়মটি সেটির দিকে নির্দেশ করুন।

  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 তা এগিয়ে দেয়। উত্তরের জন্য ইমেইল চ্যানেলে একটি SMTP অ্যাকাউন্ট লাগে, যেমন Amazon SES, Postmark বা আপনার নিজস্ব রিলে।

Yuva বন্ধ থাকলে কী হয়?

FALLBACK_FORWARD সেট থাকলে বার্তাটি তার বদলে সেই ঠিকানায় ফরওয়ার্ড হয়। এটি ছাড়া ডেলিভারি ব্যর্থ হয় এবং প্রেরক সার্ভার আবার চেষ্টা করতে পারে। Yuva ইচ্ছে করে যেসব বার্তা প্রত্যাখ্যান করে, যেমন অচেনা ঠিকানার মেইল, সেগুলো প্রত্যাখ্যাত হয়, ফরওয়ার্ড হয় না।

কোন ডোমেইন ও ঠিকানা ব্যবহার করতে পারি?

Cloudflare-এ আপনি পরিচালনা করেন এমন যেকোনো ডোমেইন, যার মেইল অন্য কোনো সার্ভার সামলায় না, কারণ Email Routing হয়ে যায় তার MX। প্রতিটি ইমেইল চ্যানেলের একটি ঠিকানা থাকে, অথবা ক্যাচ-অল *@example.com, যা ডোমেইনের এমন সব ঠিকানার জন্য যেগুলো কোনো চ্যানেলের সঙ্গে হুবহু মেলে না। support+billing@example.com-এর মতো সাব-অ্যাড্রেস support@example.com চ্যানেলে পৌঁছায়।

একটি বার্তা কত বড় হতে পারে?

সংযুক্তিসহ একটি বার্তা সর্বোচ্চ ২৫ MiB হতে পারে, এটি Cloudflare Email Routing-এর সীমা। Yuva প্রতি বার্তায় সর্বোচ্চ ৫০টি সংযুক্তি রাখে, প্রতিটি সার্ভারের সংযুক্তি আকারের সীমার (ডিফল্টে ২৫ MiB) মধ্যে এবং অনুমোদিত ধরনের হতে হবে; বাকিগুলো বাদ দেয়।

কেউ কি আমার Yuva সার্ভারে জাল মেইল পাঠাতে পারে?

বৈধ HMAC স্বাক্ষর ছাড়া বা ৫ মিনিটের বেশি ব্যবধানের টাইমস্ট্যাম্পসহ যেকোনো অনুরোধ Yuva বডি পড়ার আগেই প্রত্যাখ্যান করে। সিক্রেট নিজের কাছে রাখুন।

Yuva কি Cloudflare-এর DMARC ফলাফল ব্যবহার করে?

হ্যাঁ, যখন YUVA_INGRESS_AUTHSERV_ID mx.cloudflare.net-এ সেট করা থাকে। তখন Yuva Email Routing-এর যোগ করা DMARC রায় পড়ে। DMARC-এ ব্যর্থ নতুন কথোপকথন স্প্যাম হিসেবে চিহ্নিত হয়।

Cloudflare, Cloudflare লোগো এবং Cloudflare Workers যুক্তরাষ্ট্র ও অন্যান্য এখতিয়ারে Cloudflare, Inc.-এর ট্রেডমার্ক এবং/অথবা নিবন্ধিত ট্রেডমার্ক। Yuva একটি স্বাধীন ওপেন-সোর্স প্রজেক্ট, Cloudflare-এর সঙ্গে যুক্ত নয় এবং তাদের দ্বারা অনুমোদিতও নয়।