قابلية التسليم عملية مستمرة
يجب النظر إلى Routing وShaping وSuppression وWarm-up وFeedback معاً.

MAIL PLATFORM / GATEWAY
Mail Platform مستقلة للفرق التي تريد إدارة Outbound Delivery وInbound Protection وDomain Identity وQueue وDeliverability ودورة الحياة وObservability ضمن منتج واحد.
مكوّنات 4SO Mail Gateway: مسار الرسالة من الدخول إلى التسليم
مشكلة المنتج
لكلٍّ من Delivery وReputation وDKIM وQueue وInbound Security وQuarantine وFeedback والاستعادة أنماط فشل خاصة به. ويضع Mail Gateway هذه المكونات ضمن نموذج تشغيلي متماسك.
يجب النظر إلى Routing وShaping وSuppression وWarm-up وFeedback معاً.
تشكّل Authentication وAnti-spam وAnti-malware وQuarantine وBackend policy سلسلة واحدة.
تُنفَّذ Sender authorization والصلاحيات والتغييرات الحساسة ضمن النطاق الصحيح.
التهيئة وDrain وSwitchover وUpgrade وBackup والاستعادة جزء من المنتج نفسه.
لمحة عن القدرات
يدير Mail Gateway مسارات الإرسال والاستقبال والعمليات بنموذج وصول ومراقبة مشترك.
Authenticated submission وrouting وqueue وdelivery من Mail Data Plane.
Authorization النطاق ودورة حياة توقيع الإرسال.
إدارة Bounce وComplaint وSuppression وWarm-up لحماية Deliverability.
Authentication الرسائل الواردة وتقييمها في مسار Receiver.
سلسلة حماية تعمل قبل التسليم إلى Backend أو Quarantine.
الاحتفاظ وRelease وDelete وExpiry مع وصول مضبوط.
Health وRouting وTLS وQueue وDeliverability في رؤية تشغيلية موحّدة.
Control Plane ودورة حياة عقد البريد مع مسارات استعادة محددة.
لا يعتمد Mail Data Plane على LLM في الإرسال أو الاستقبال؛ فمسار خدمة البريد حتمي (deterministic).
نموذج النشر
يبدأ المنتج بـControl Plane بسيطة ويمكن أن يتوسع إلى HA Control Plane وعدة Mail Nodes لأدوار Outbound وInbound؛ ولا يدخل Manager إلى Mail Data Plane.
| الملف التشغيلي | Control Plane | Mail Data Plane | الاستخدام |
|---|---|---|---|
| Single Manager | Manager واحد | Mail Node واحدة أو أكثر | نشر بسيط وإدارة مركزية |
| Distributed Mail Nodes | Control Plane مركزية | عقد منفصلة لـOutbound / Inbound | فصل السعة وأدوار Data Plane |
| HA Control Plane | عدة Managers | Mail Node Pool مستقل | تكرار الإدارة دون دخول Manager إلى Mail Data Plane |
| جاهز للاستعادة | Control Plane + Backup/PITR | دورة حياة عقدة قابلة لإعادة البناء | استعادة مضبوطة بعد الأعطال |
المعمارية
توجد Identity وAuthorization وحالة Tenant ودورة الحياة في Control Plane؛ بينما تعمل SMTP وQueue وProtection على عقد البريد.
| Plane | Component | المهمة | الحد التشغيلي |
|---|---|---|---|
| Control | PostgreSQL + Product Authorization / Keycloak Identity | Tenant وDomain وpolicy وIAM وdurable jobs وaudit | لا يعتمد Mail delivery في الخدمة العادية على Control Plane قيد التشغيل |
| Outbound | KumoMTA | SMTP submission وqueue/spool وrouting وshaping وInternet delivery | Node-local spool؛ لا يوجد shared spool |
| Transport | HAProxy | Stable internal transport وendpoints مختارة لـHA | لا يحلّ Proxy محل ملكية المنتج أو queue semantics |
| Inbound Protection | Rspamd + ClamAV | تقييم Spam/policy وmalware scanning | تعمل Protection chain قبل backend/quarantine |
| DNS / Runtime State | Unbound + Valkey | مسار resolver يتحكم فيه المنتج وshared runtime authority عند الحاجة | يبقى resolver path وruntime state تحت تحكم المنتج |
| Runtime | Linux / VM Mail Nodes | KumoMTA وSMTP وsending IPs وDKIM وqueue data plane | ليس Kubernetes شرطاً مسبقاً لـMail Data Plane |
Control-plane Security Contract. يُبقي Mail Gateway كلاً من Identity وAuthorization ودورة حياة Secret منفصلة عن Mail Data Plane، ويربط mutations عالية المخاطر بـdurable job وhuman approval.
| المجال | Component / Authority | العقد التقني |
|---|---|---|
| Control API | Rust Control API + PostgreSQL | تُحفظ حالة Tenant/Domain/Policy/Job/Audit بشكل دائم في Product database. |
| Identity | Keycloak | يحمل OIDC subject هوية المستخدم؛ ولا تحلّ بيانات اعتماد Browser أو MCP محل هوية المستخدم. |
| Authorization | OpenFGA + Product permission model | الإجراءات والمسارات غير المعروفة تفشل مغلقة (fail-closed)، وتُقيَّم permission ضمن resource scope. |
| Secrets | OpenBao | تبقى Secret material وrecovery workflow منفصلة عن configuration العادية وUI state. |
| High-risk IAM | Durable PostgreSQL Job | Request وhuman approval وexecute-time reauthorization وauthoritative post-check مراحل منفصلة. |
| MCP | Delegated OIDC + scoped product tools | يمكن لـMCP تمرير الطلبات والتشخيص عبر authority المنتج؛ ولا يملك self-approval أو Generic Admin API. |
| Observability | Prometheus + Grafana + product probes | تُعرض Queue وTLS وrouting وdeliverability من telemetry حقيقية؛ وغياب البيانات لا يُعرض كصحة مصطنعة. |
دورة الحياة
تهيئة النطاق والعقدة ليست سوى بداية المسار؛ أما Deliverability وProtection وQueue وRotation والاستعادة فكلها عمليات أساسية في المنتج.
الملف التشغيلي
بدلاً من Mail Server أحادي البعد، ينسّق المنتج عدة عمليات متخصصة تحت Control Plane واحدة.
مسار إرسال عالي الحجم مع Queue وRouting.
استقبال عام مع Authentication وProtection.
التحكم في سلوك الإرسال والتغذية الراجعة.
النطاق والصلاحيات والعمليات المقيّدة بالنطاق.
العقد أيضاً موارد قابلة للإدارة.
لإدارة الخدمة أيضاً مسار Backup واستعادة.
تدفق Typed Action
في العمليات الإدارية، تكون Plan وأثر التغيير مرئيين قبل التنفيذ، وتبقى approval للعمليات عالية المخاطر منفصلة عن execution.
Delivery ليست النتيجة النهائية؛ إذ تعيد bounce وtelemetry تغذية policy.
تصل الرسالة الواردة بعد auth وcontent gates إلى outcome صريح.
تبقى Plan وApproval وexecute-time reauthorization منفصلة عن بعضها.
للنطاق workflow واحد من ownership حتى delivery readiness.
Queue/spool جزء من Data Plane مستقلة.
تمر الرسالة الواردة عبر عدة gates.
تتم Rotation ضمن secret boundary ومع post-check.
Approval منفصلة عن execution.
تأخذ Node mutation في الحسبان spool وservice role.
تُعدّ Queue incident وتغييرات Routing/Shaping عمليات Day‑2 مستقلة وعالية المخاطر.
يُفحص Backlog أو Delivery incident مع الحفاظ على حقيقة Node-local Spool.
تمر Policy التسليم قبل التطبيق وبعده عبر مسار Impact وTelemetry.
| Action / Flow | Admission / Preconditions | Execution / Lock | Success Criterion | Failure / Recovery |
|---|---|---|---|---|
| Domain Onboarding | ملكية Tenant/Domain وauthorization وpolicy input صالحة | Typed owner action؛ تمر config/runtime mutation عبر Control API | جاهزية Domain/DKIM/routing من Product state وruntime read-back | فشل Validation يقع قبل activation؛ وتُتابَع partial state عبر workflow recovery |
| DKIM Rotation | Domain scope وsigner identity وrotation preconditions | Durable mutation مع audit وbounded secret handling | التحقق من Active key/signing state وDNS-facing readiness | Old/new key overlap وrollback خاصة بالمالك؛ ولا تُعرض secret material في MCP/UI |
| Queue / Delivery Action | نطاق tenant/queue/message دقيق مع permission | Typed queue action؛ لا يوجد shell أو raw SQL أو direct Kumo admin proxy | تُظهر Queue/history post-check نتيجة الإجراء نفسه | يتطلب Unknown outcome إجراء read-back؛ ويتم replay وفق idempotency semantics الخاصة بالمالك |
| Routing / Shaping / Suppression | Provider/domain/resource scope + risk/permission contract | Registry-backed action مع Product policy authority | تُقرأ Effective route/pool/suppression state بعد mutation | Unknown action تفشل مغلقة (fail-closed)؛ ولا يُسمح بخفض historical risk |
| IAM User Lifecycle | Delegated OIDC subject وProduct authorization؛ high-risk impact preview | Request → human approval مستقلة → execute-time reauthorization → Keycloak Writer | تؤكد Authoritative Keycloak post-check حالة enabled/session/group | لا يملك MCP أي bypass لـapprove/execute؛ ويُرفض stale/revoked authorization مجدداً عند execute |
| Mail Node Lifecycle | Pinned target/release identity وpreflight وruntime readiness | ترتبط Provision/Drain/Fence/Switchover بـdurable lifecycle/evidence | التحقق من Node role وqueue/spool وservice health من runtime | يُفترض Node-local spool؛ ولا يُخفى فشل switchover بافتراض shared spool أو بنجاح مصطنع |
دورة حياة Management MCP صريحة: list actions → create plan → inspect impact/preconditions → human approval → execute → post-check. لا يستطيع Agent الموافقة على اقتراحه بنفسه، ولا يملك أداة عامة لـshell أو raw SQL أو filesystem أو secret export.
كتالوج العمليات
يجب أن يتمكن المشغّل من رؤية حالة الإرسال والاستقبال واتخاذ الإجراء اللازم دون التنقل بين أدوات منفصلة.
يجمع 4SO Mail Gateway الإرسال والاستقبال والعمليات في منتج واحد مستضاف ذاتياً وقابل للتتبّع.