انتقل إلى المحتوى
Yuva

Yuva Email Worker لـ Cloudflare

بريد الدعم عبر 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. 2يستقبل Cloudflare Email Routing الرسالة ويمررها إلى Yuva Email Worker.
  3. 3يوقّع الـ Worker الرسالة الخام وعنواني المظروف وطابعًا زمنيًا باستخدام HMAC-SHA256 بسر تشاركه مع Yuva، ويرسلها إلى /ingress/email على خادم Yuva لديك.
  4. 4يتحقق Yuva من التوقيع ومن أن الطابع الزمني ضمن 5 دقائق قبل أن يقرأ الرسالة. ويُرفض أي طلب بتوقيع خاطئ.
  5. 5يجد Yuva قناة البريد لعنوان المستلم ويسلسل الرسالة بحسب In-Reply-To وReferences في المحادثة التي تنتمي إليها. وأي شيء آخر يبدأ محادثة جديدة. والرد يعيد فتح المحادثة.
  6. 6يجيب فريقك في اللوحة. يُرسل الرد عبر حساب SMTP الخاص بقناة البريد، مثل Amazon SES أو Postmark أو مرحّلك الخاص، من العنوان نفسه وفي السلسلة نفسها. ولا تمر الردود عبر الـ Worker.

الرفض يصل إلى المرسل

عندما يرفض Yuva رسالة نهائيًا، مثل عنوان غير معروف أو مرسل محظور أو رسالة أكبر من الحد، يرفضها الـ Worker ويتلقى المرسل خطأ SMTP دائمًا مع سبب Yuva.

إذا تعذّر الوصول إلى Yuva

إذا ردّ Yuva بخطأ في الخادم، أو لم يردّ خلال 20 ثانية، أو تعذّر الوصول إليه، يمكن للـ Worker إعادة توجيه الرسالة إلى عنوان تختاره، بشرط ضبط FALLBACK_FORWARD. ويجب أن يكون هذا العنوان وجهة موثّقة في 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. صيغة الطلب موثقة في README الخاص بالـ Worker.

أسئلة وأجوبة

هل أحتاج إلى تشغيل خادم بريد؟

ليس للبريد الوارد. لا يستمع 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 ميبي بايت بما فيها المرفقات، وهو حد Cloudflare Email Routing. يحتفظ Yuva بما يصل إلى 50 مرفقًا لكل رسالة، على ألا يتجاوز كل مرفق حد حجم المرفقات في الخادم (25 ميبي بايت افتراضيًا) وأن يكون من الأنواع المسموح بها، ويتجاهل الباقي.

هل يمكن لأحد تزوير رسائل إلى خادم Yuva الخاص بي؟

يرفض Yuva أي طلب بلا توقيع HMAC صالح أو بطابع زمني يبعد أكثر من 5 دقائق، قبل أن يقرأ المحتوى. احتفظ بالسر لنفسك.

هل يستخدم Yuva نتيجة DMARC من Cloudflare؟

نعم، عندما تضبط YUVA_INGRESS_AUTHSERV_ID على mx.cloudflare.net. عندئذٍ يقرأ Yuva حكم DMARC الذي يضيفه Email Routing. وتُعلَّم المحادثة الجديدة التي تفشل في DMARC كبريد مزعج.

Cloudflare وشعار Cloudflare وCloudflare Workers علامات تجارية و/أو علامات تجارية مسجلة لشركة Cloudflare, Inc. في الولايات المتحدة وولايات قضائية أخرى. Yuva مشروع مستقل مفتوح المصدر، وليس تابعًا لـ Cloudflare ولا معتمدًا منها.