دليل عملي

البريد الإلكتروني الاحترافي

‏Postal‏ : منصة SMTP مستضافة ذاتياً للوكالات

عميل يشتكي من ضياع رسائل التأكيد، وآخر يجد فواتيره في البريد المزعج — وأنت لا تملك أي سجلات تفهم بها ما حدث. ‏Postfix‏ يؤدي عمله في صمت، لكن هذا بالضبط هو المشكلة : إنه مُعيد توجيه أعمى، بلا واجهة، بلا إحصاءات، بلا إدارة للإرجاعات. ‏Postal‏ يغيّر المعادلة. إنه منصة ‏SMTP‏ كاملة — واجهة ويب متعددة المستخدمين، ‏REST API‏، خطافات ‏webhook‏ للإرجاعات، إحصاءات لكل خادم إرسال — تنشرها على ‏VPS‏ واحد لإدارة محفظة عملاء وكالتك بالكامل، دون الاعتماد على ‏Mailgun‏ أو ‏Postmark‏ أو ‏SendGrid‏.

10 دقائق للقراءةعدد الخطوات: 7
المحتويات· لماذا تحتاج الوكالات إلى منصة SMTP متكاملة1/9
  1. 01لماذا تحتاج الوكالات إلى منصة SMTP متكاملة
  2. 02ما تقدمه Postal لوكالتك
  3. 03المتطلبات الأساسية : VPS والمنفذ 25 وIPv4 مخصصة
  4. 04تثبيت Postal على VPS
  5. 05تهيئة نطاق الإرسال
  6. 06DMARC : القطعة الأخيرة في قابلية التسليم
  7. 07إدارة الإرجاعات والإحصاءات
  8. 08Postal مقابل حلول SaaS ومقابل Postfix
  9. 09بنية تحتية للبريد الإلكتروني تحت سيطرتك

لماذا تحتاج الوكالات إلى منصة SMTP متكاملة

إدارة إرسال البريد الإلكتروني لمحفظة العملاء باستخدام ‏Postfix‏ وحده يعني الإبحار بلا أدوات قياس. خادم البريد يُرسل أو يرفض، لكنه لن يخبرك لماذا حدث إرجاع، أو أي حملة أضرّت بسمعة نطاق ما، أو أي عميل يستهلك أكبر قدر من موارد الإرسال.

بالنسبة للوكالة التي تدير ‏10‏ أو ‏20‏ أو ‏50‏ نطاقاً لعملائها، هذا الغموض خطر تشغيلي مباشر. عميل واحد سيئ التهيئة يمكن أن يؤدي إلى إدراج عنوان ‏IP‏ المشترك في القوائم السوداء ويُضر بجميع العملاء. وعندما يتصل العميل للإبلاغ عن مشكلة، لن تجد ما تُريه إياه.

‏Postal‏ يحل هذه المشكلة بإضافة طبقة تحكم كاملة فوق خط أنابيب ‏SMTP‏.

ما تقدمه Postal لوكالتك

  • واجهة ويب متعددة الخوادم : أنشئ خادم إرسال معزولاً لكل عميل أو مشروع، بمعلومات اعتماد ‏SMTP‏ ومفتاح ‏API‏ خاص.
  • إحصاءات لكل خادم إرسال : حجم البريد الوارد والصادر والإرجاعات، في رسوم بيانية على ‏24‏ ساعة أو ‏48‏ ساعة أو ‏30‏ يومًا — خادم لكل عميل يمنحك رؤية لكل عميل.
  • إدارة الإرجاعات في الوقت الفعلي : كل فشل في التسليم يُسجَّل ويُصنَّف (SoftFail مؤقت، HardFail نهائي)، وكل إرجاع وارد يُربط بالرسالة الأصلية، ويظهر في الواجهة وتُرسَل عبر ‏webhook‏ إلى تطبيقك.
  • ‏REST API‏ وخطافات ‏webhook‏ : ادمج ‏Postal‏ مع ‏CRM‏ أو منصة التجارة الإلكترونية أو أداة الفوترة لديك.
  • طوابير الرسائل : الإرساليات في قائمة انتظار وقابلة للتتبع حتى إيصال التسليم أو الخطأ النهائي، بلا صندوق أسود.
  • عزل العملاء : يمكن تخصيص تجمع ‏IP‏ لكل خادم ‏Postal‏ (الخيار use_ip_pools) وحد إرسال خاص به — مع عناوين ‏IP‏ منفصلة، عميل في ورطة لا يُؤثر على سمعة الآخرين.
  • رخصة ‏MIT‏ : مفتوح المصدر، لا تكلفة لكل بريد إلكتروني، لا اعتماد على طرف ثالث.

المتطلبات الأساسية : VPS والمنفذ 25 وIPv4 مخصصة

يتثبت ‏Postal v3.3.7‏ عبر ‏Docker‏. المتطلبات الرسمية هي :

الموارد : على الأقل ‏2 vCPU‏ و‏4 جيجابايت‏ من ذاكرة الوصول العشوائي. توصي الوثائق بشدة بخادم مخصص لـ‏Postal‏ وحده دون برامج أخرى. خصص ما لا يقل عن ‏25 جيجابايت‏ من تخزين ‏SSD‏.

نظام التشغيل : أي توزيعة تشغّل ‏Docker Engine‏ وإضافة ‏Docker Compose‏ (يستخدم هذا الدليل ‏Ubuntu 24.04 LTS‏)، مع git وcurl وjq.

قاعدة البيانات : ‏MariaDB 10.6‏ أو أحدث — توقفت الصيانة المجتمعية لفرع ‏10.6‏ منذ يوليو 2026، فاختر ‏10.11‏ أو أحدث. ‏MySQL‏ غير مدعوم صراحةً.

المنفذ 25 : النقطة الحرجة. يجب فتح المنفذ ‏25‏ الصادر حتى يتمكن ‏Postal‏ من تسليم الرسائل لخوادم المستقبلين. كثير من مزودي الاستضافة يحجبونه افتراضياً — تحقق من ذلك قبل البدء.

‏rDNS‏ : يجب أن يُشير ‏DNS‏ العكسي لـ‏IPv4‏ الخاصة بك إلى اسم مضيف ‏Postal‏ (مثل postal.your-agency.com). سجل ‏PTR‏ غائب أو خاطئ يؤدي إلى رفض رسائلك : منذ فبراير 2024 يشترط ‏Gmail‏ سجل ‏PTR‏ صالحًا لكل عنوان ‏IP‏ مُرسِل.

تثبيت Postal على VPS

  1. تجهيز الخادم وتثبيت Docker

    سجّل الدخول كـ‏root‏ على ‏VPS Ubuntu 24.04‏، حدّث الحزم، ثم ثبّت ‏Docker Engine‏ وإضافة ‏Compose‏ :

    apt update && apt upgrade -y
    curl -fsSL https://get.docker.com | sh
    apt install -y git curl jq
    docker --version && docker compose version

    تحقق من فتح المنفذ ‏25‏ الصادر : nc -zv smtp.gmail.com 25. إذا فشل الاتصال، تواصل مع مزود الاستضافة لفتحه.

  2. تهيئة DNS لخادم Postal

    قبل التهيئة الأولية، أنشئ سجلات ‏DNS‏ لنطاق تثبيت ‏Postal‏ (مثل postal.your-agency.com) :

    - سجل A : postal.your-agency.com ← ‏IP‏ خادم ‏VPS‏
    - ‏rDNS‏ (‏PTR‏) : هيّئه في لوحة التحكم لديك
    - ‏SPF‏ العام (سجل ‏TXT‏ على spf.postal.your-agency.com) : v=spf1 ip4:<IP_VPS> ~all
    - مسار الإعادة : rp.postal.your-agency.com مع سجل ‏A‏ نحو ‏IP‏ الخادم، وسجل ‏MX‏ 10 postal.your-agency.com، وسجل ‏TXT‏ v=spf1 a mx include:spf.postal.your-agency.com ~all، وبعد التهيئة الأولية سجل ‏DKIM‏ الذي يطبعه postal default-dkim-record على postal._domainkey.rp.postal.your-agency.com

    انتظر انتشار ‏DNS‏ (‏15‏ إلى ‏30‏ دقيقة) قبل المتابعة.

  3. تهيئة Postal الأولية (Bootstrap)

    استنسخ مستودع التثبيت الرسمي الذي يوفّر الأمر postal، ثم أنشئ ملفات الإعداد :

    git clone https://github.com/postalserver/install /opt/postal/install
    ln -s /opt/postal/install/bin/postal /usr/bin/postal
    postal bootstrap postal.your-agency.com

    يُنشئ هذا الأمر في /opt/postal/config الملفات postal.yml وsigning.key وCaddyfile، إضافة إلى ملف docker-compose.yml (في /opt/postal/install) مثبّت على آخر إصدار منشور. افتح postal.yml وأدخل بيانات اعتماد ‏MariaDB‏ وأسماء ‏DNS‏ الخاصة بتثبيتك (القسم dns).

  4. تشغيل MariaDB وتهيئة قاعدة البيانات

    شغّل حاوية ‏MariaDB‏ مخصصة لا يمكن الوصول إليها إلا محليًا ومحمية بكلمة مرور مولَّدة، ثم هيّئ مخطط ‏Postal‏ :

    openssl rand -hex 24 > /root/postal-db.pass && chmod 600 /root/postal-db.pass
    docker run -d --name postal-mariadb \
      -p 127.0.0.1:3306:3306 \
      -e MARIADB_ROOT_PASSWORD="$(cat /root/postal-db.pass)" \
      -e MARIADB_DATABASE=postal \
      --restart always mariadb:10.11
    
    postal initialize

    انسخ كلمة المرور هذه إلى القسمين main_db وmessage_db في postal.yml قبل تنفيذ postal initialize.

  5. إنشاء أول مستخدم مسؤول

    أنشئ حساب المسؤول للوصول إلى واجهة الويب :

    postal make-user

    أدخل عنوان البريد الإلكتروني والاسم وكلمة المرور للمسؤول.

  6. تشغيل Postal وتهيئة الخادم الوسيط

    شغّل جميع خدمات ‏Postal‏ (الويب، العمال، ‏SMTP‏) :

    postal start
    postal status

    يعرض ‏Postal‏ واجهة الويب على 127.0.0.1:5000، فلا يمكن الوصول إليها من الإنترنت مباشرة. ضع خادماً وسيطاً (‏Caddy‏ أو ‏nginx‏) أمامه لإنهاء ‏TLS‏، ثم ادخل على https://postal.your-agency.com.

  7. إنشاء منظمة وأول خادم إرسال

    في واجهة ‏Postal‏، أنشئ منظمة (وكالتك)، ثم خادم إرسال لأول عميل لديك. لكل خادم بيانات اعتماد ‏SMTP‏ خاصة ومفتاح ‏API‏ ونطاقات إرسال خاصة — وهو وحدة عزل العملاء.

    دوّن اسم مضيف ‏SMTP‏ والمنفذ (‏25‏ افتراضيًا، قابل للتعديل عبر smtp_server.default_port) وبيانات الاعتماد المُنشأة : هذه هي الإعدادات التي ستُسلّمها لتطبيق العميل.

تهيئة نطاق الإرسال

في كل خادم إرسال ‏Postal‏، أضف النطاقات التي سيرسل منها عملاؤك البريد. لكل نطاق، يُنشئ ‏Postal‏ تلقائياً زوج مفاتيح ‏RSA‏ 1024 بت ومحدد ‏DKIM‏ فريد (بصيغة postal-XXXXXX._domainkey).

سجلات ‏DNS‏ التي يجب نشرها لكل نطاق عميل :

‏SPF‏ — أضف include:spf.postal.your-agency.com في سجل ‏TXT‏ الجذر :

v=spf1 include:spf.postal.your-agency.com ~all

‏DKIM‏ — انشر قيمة ‏TXT‏ الظاهرة في الواجهة في النطاق الفرعي المُنشأ :

postal-XXXXXX._domainkey.client-domain.com  TXT  "v=DKIM1; t=s; h=sha256; p=<المفتاح العام>"

مسار الإعادة (Return Path، موصى به) — ‏CNAME‏ يستقبل الإرجاعات ويحقق محاذاة ‏SPF‏ لـ‏DMARC‏ :

psrp.client-domain.com  CNAME  rp.postal.your-agency.com

يتحقق ‏Postal‏ من هذه السجلات تلقائياً كل ساعة ويُشير في الواجهة إلى أي سجل مفقود أو خاطئ.

DMARC : القطعة الأخيرة في قابلية التسليم

مع وجود ‏SPF‏ و‏DKIM‏، أضف سياسة ‏DMARC‏ على كل نطاق عميل. ابدأ في وضع المراقبة (p=none) لجمع التقارير دون خطر الحجب، ثم تصاعد تدريجياً نحو p=quarantine وp=reject :

_dmarc.client-domain.com  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]; fo=1"

يُرسل الحقل rua تقارير إجمالية يومية إلى عنوانك — ستتمكن من رؤية المصادر التي ترسل باسمك. يوقّع ‏Postal‏ كل رسالة بمفتاح ‏DKIM‏ الخاص بالنطاق بمجرد التحقق من سجله، ويحقق مسار الإعادة psrp محاذاة ‏SPF‏ : على النطاقات المُهيأة بشكل صحيح، سيجتاز ‏DMARC‏ من اليوم الأول.

إدارة الإرجاعات والإحصاءات

هذا هو الاختلاف الأكثر وضوحاً بين ‏Postal‏ و‏Postfix‏ الخام. في تبويب الرسائل لكل خادم إرسال، كل بريد إلكتروني مُرسَل يُتتبَّع بحالته : Pending، Sent، Held، SoftFail، HardFail، Bounced.

عند فشل التسليم أو ورود إرجاع، يقوم ‏Postal‏ بـ:
1. تسجيل سبب الرفض الدقيق في سجل الرسالة (مثل 550 5.1.1 The email account does not exist)
2. تحديث حالة التسليم في الواجهة (HardFail إذا رفض الخادم المستقبِل أثناء جلسة ‏SMTP‏، وBounced إذا وصلت رسالة إرجاع لاحقًا)
3. إطلاق حدث ‏webhook‏ من نوع MessageDeliveryFailed أو MessageBounced إلى نقطة ‏HTTP‏ التي هيّأتها

بشكل تخطيطي، يُقرأ فشل التسليم هكذا (مثال مبسّط) :

[2026-10-15 09:14:22] Delivery attempt to mx1.example.com (203.0.113.10:25)
[2026-10-15 09:14:22] << 550 5.1.1 <[email protected]> User unknown
[2026-10-15 09:14:22] Message marked as HardFail (permanent)

الإحصاءات لكل خادم إرسال تعرض، على ‏24‏ ساعة أو ‏48‏ ساعة أو ‏30‏ يومًا، حجم البريد الوارد وحجم البريد الصادر والإرجاعات.

Postal مقابل حلول SaaS ومقابل Postfix

مرّر الجدول أفقيًا

المعيار‏Postal‏ (مستضاف ذاتياً)‏Mailgun / Postmark‏‏SMTP relay Postfix‏
الرؤيةواجهة كاملة : سجل لكل رسالة، سجل إرجاعات، إحصاءات لكل خادم إرساللوحة تحكم ‏SaaS‏، ومدة الاحتفاظ بالسجلات حسب الخطةلا واجهة — سجلات النظام فقط
التكلفة‏VPS‏ + وقت الإدارة (لا تكلفة لكل بريد إلكتروني)فوترة حسب حجم الإرسال (راجع أسعار كل مزوّد)‏VPS‏ فقط (لا تكلفة برمجية)
التحكمكامل : ‏IP‏، الاحتفاظ، سياسة الإرجاع، عزل لكل عميلجزئي : سياسات يفرضها المزوِّد، ‏IP‏ مشتركة افتراضياًتحكم كامل في التوجيه، صفر رؤية
حد الإرسالمقيّد بموارد ‏VPS‏ وسمعة ‏IP‏ — قابل للتوسعحصص حسب الخطة، التوسع يُفاتَرمقيّد بـ‏VPS‏ — لا إدارة أصلية لحصص لكل نطاق

بنية تحتية للبريد الإلكتروني تحت سيطرتك

‏Postal‏ هو الأداة التي تبحث عنها الوكالات حين تدرك أن ‏Postfix‏ وحده لم يعد كافياً لإدارة محفظة عملاء. المنصة تُحضر الرؤية الغائبة — سجلات منظمة، إرجاعات متتبَّعة، إحصاءات لكل خادم إرسال — دون القيود السعرية واعتماديات ‏SaaS‏.

خادم ‏VPS‏ بـ‏2 vCPU‏ و‏4 جيجابايت‏ من ذاكرة الوصول العشوائي و‏IPv4‏ مخصصة يكفي للبدء. المنفذ ‏25‏ المفتوح و‏rDNS‏ المُهيَّأ بشكل صحيح هما الشرطان الأساسيان اللذان لا يوفّرهما كثير من المزودين افتراضياً — تحقق منهما قبل الطلب.

‏VPS‏ لمنصة ‏SMTP‏ الخاصة بك

يتطلب ‏Postal‏ على الأقل ‏2 vCPU‏ و‏4 جيجابايت‏ من ذاكرة الوصول العشوائي. تتضمن خوادم ‏VPS‏ لدينا ‏IPv4‏ مخصصة، وصول ‏root‏، ‏rDNS‏ قابل للتهيئة والمنفذ ‏25‏ مفتوح عند الطلب.