لماذا تحتاج الوكالات إلى منصة SMTP متكاملة
إدارة إرسال البريد الإلكتروني لمحفظة العملاء باستخدام Postfix وحده يعني الإبحار بلا أدوات قياس. خادم البريد يُرسل أو يرفض، لكنه لن يخبرك لماذا حدث إرجاع، أو أي حملة أضرّت بسمعة نطاق ما، أو أي عميل يستهلك أكبر قدر من موارد الإرسال.
بالنسبة للوكالة التي تدير 10 أو 20 أو 50 نطاقاً لعملائها، هذا الغموض خطر تشغيلي مباشر. عميل واحد سيئ التهيئة يمكن أن يؤدي إلى إدراج عنوان IP المشترك في القوائم السوداء ويُضر بجميع العملاء. وعندما يتصل العميل للإبلاغ عن مشكلة، لن تجد ما تُريه إياه.
Postal يحل هذه المشكلة بإضافة طبقة تحكم كاملة فوق خط أنابيب SMTP.
ما تقدمه Postal لوكالتك
- واجهة ويب متعددة الخوادم : أنشئ خادم إرسال معزولاً لكل عميل أو مشروع، بمعلومات اعتماد SMTP ومفتاح API خاص.
- إحصاءات لكل نطاق : معدل التسليم، الإرجاعات، قابلية التسليم وحجم الإرسال — لكل نطاق مُرسِل، لكل فترة زمنية، قابلة للتصدير.
- إدارة الإرجاعات في الوقت الفعلي : كل رسالة مُعادة تُسجَّل وتُصنَّف (صلبة/لينة) وتظهر في الواجهة وتُرسَل عبر webhook إلى تطبيقك.
- REST API وخطافات webhook : ادمج Postal مع CRM أو منصة التجارة الإلكترونية أو أداة الفوترة لديك.
- طوابير الرسائل : الإرساليات في قائمة انتظار وقابلة للتتبع حتى إيصال التسليم أو الخطأ النهائي، بلا صندوق أسود.
- عزل العملاء : لكل خادم Postal تجمعات IP خاصة به وسمعته المستقلة وحدوده — عميل في ورطة لا يُؤثر على الآخرين.
- رخصة MIT : مفتوح المصدر، لا تكلفة لكل بريد إلكتروني، لا اعتماد على طرف ثالث.
المتطلبات الأساسية : VPS والمنفذ 25 وIPv4 مخصصة
يتثبت Postal v3.3.7 عبر Docker. المتطلبات الرسمية هي :
الموارد : على الأقل 2 vCPU و4 جيجابايت من ذاكرة الوصول العشوائي. لأحجام تتجاوز 50,000 بريد إلكتروني يومياً، يُوصى بـ8 جيجابايت. خصص ما لا يقل عن 25 جيجابايت من تخزين SSD.
نظام التشغيل : Ubuntu 22.04 أو Ubuntu 24.04 LTS مع Docker Engine وإضافة Docker Compose.
قاعدة البيانات : MariaDB 10.6 أو أحدث. MySQL غير مدعوم صراحةً.
المنفذ 25 : النقطة الحرجة. يجب فتح المنفذ 25 الصادر حتى يتمكن Postal من تسليم الرسائل لخوادم المستقبلين. كثير من مزودي الاستضافة يحجبونه افتراضياً — تحقق من ذلك قبل البدء.
rDNS : يجب أن يُشير DNS العكسي لـIPv4 الخاصة بك إلى اسم مضيف Postal (مثل postal.your-agency.com). سجل PTR غائب أو خاطئ هو السبب الأول للرفض من قِبَل كبار مزودي البريد.
تثبيت Postal على VPS
تجهيز الخادم وتثبيت Docker
سجّل الدخول كـroot على VPS Ubuntu 24.04، حدّث الحزم، ثم ثبّت Docker Engine وإضافة Compose :
apt update && apt upgrade -y curl -fsSL https://get.docker.com | sh docker --version && docker compose versionتحقق من فتح المنفذ 25 الصادر :
nc -zv smtp.gmail.com 25. إذا فشل الاتصال، تواصل مع مزود الاستضافة لفتحه.تهيئة DNS لخادم Postal
قبل التهيئة الأولية، أنشئ سجلات DNS لنطاق تثبيت Postal (مثل
postal.your-agency.com) :- سجل A :
postal.your-agency.com← IP خادم VPS
- rDNS (PTR) : هيّئه في لوحة التحكم لديك
- SPF لنطاق البنية التحتية :v=spf1 ip4:<IP_VPS> ~allانتظر انتشار DNS (15 إلى 30 دقيقة) قبل المتابعة.
تهيئة Postal الأولية (Bootstrap)
اسحب صورة Postal ونفّذ bootstrap لإنشاء ملفات الإعداد :
docker pull ghcr.io/postalserver/postal:latest mkdir -p /opt/postal/config docker run --rm -v /opt/postal/config:/config \ ghcr.io/postalserver/postal:latest \ postal bootstrap postal.your-agency.comيُنشئ هذا الأمر
/opt/postal/config/postal.ymlوsigning.key. افتحpostal.ymlوأدخل بيانات اعتماد MariaDB وعنوان URL العام لتثبيتك.تشغيل MariaDB وتهيئة قاعدة البيانات
شغّل حاوية MariaDB مخصصة، ثم هيّئ مخطط Postal :
docker run -d --name postal-mariadb \ -e MYSQL_ROOT_PASSWORD=<كلمة_المرور> \ -e MYSQL_DATABASE=postal \ --restart always mariadb:10.11 docker run --rm -v /opt/postal/config:/config \ --network host \ ghcr.io/postalserver/postal:latest \ postal initializeإنشاء أول مستخدم مسؤول
أنشئ حساب المسؤول للوصول إلى واجهة الويب :
docker run --rm -v /opt/postal/config:/config \ --network host \ ghcr.io/postalserver/postal:latest \ postal make-userأدخل عنوان البريد الإلكتروني والاسم وكلمة المرور للمسؤول.
تشغيل Postal وتهيئة الخادم الوسيط
شغّل جميع خدمات Postal (الويب، العمال، SMTP) :
docker run -d --name postal \ --restart always \ --network host \ -v /opt/postal/config:/config \ ghcr.io/postalserver/postal:latest \ postal startيعرض Postal واجهة الويب على المنفذ 5000. ضع خادماً وسيطاً (Caddy أو nginx) أمامه لإنهاء TLS، ثم ادخل على
https://postal.your-agency.com.إنشاء منظمة وأول خادم إرسال
في واجهة Postal، أنشئ منظمة (وكالتك)، ثم خادم إرسال لأول عميل لديك. لكل خادم بيانات اعتماد SMTP خاصة ومفتاح API ونطاقات إرسال خاصة — وهو وحدة عزل العملاء.
دوّن اسم مضيف SMTP والمنفذ (25 أو 465 أو 587) وبيانات الاعتماد المُنشأة : هذه هي الإعدادات التي ستُسلّمها لتطبيق العميل.
تهيئة نطاق الإرسال
في كل خادم إرسال 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 ~allDKIM — انشر قيمة TXT الظاهرة في الواجهة في النطاق الفرعي المُنشأ :
postal-XXXXXX._domainkey.client-domain.com TXT "v=DKIM1; k=rsa; p=<المفتاح العام>"مسار الإعادة (Return Path، موصى به) — CNAME لتحسين تتبع الإرجاعات :
psrp.client-domain.com CNAME psrp.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 ينتج رسائل بريدية محاذية مع SPF وDKIM : على النطاقات المُهيأة بشكل صحيح، سيجتاز DMARC من اليوم الأول.
إدارة الإرجاعات والإحصاءات
هذا هو الاختلاف الأكثر وضوحاً بين Postal وPostfix الخام. في تبويب الرسائل لكل خادم إرسال، كل بريد إلكتروني مُرسَل يُتتبَّع بحالته : Sent، Delivered، SoftFail، HardFail، Bounced.
عند اكتشاف إرجاع، يقوم Postal بـ:
1. تسجيل سبب الرفض الدقيق في سجل الرسالة (مثل 550 5.1.1 The email account does not exist)
2. تحديث حالة التسليم في الواجهة
3. إطلاق حدث webhook من نوع 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 ساعة، 7 أيام، 30 يوماً) : الحجم المُرسَل، معدل التسليم، معدل الإرجاع، معدل رفض مرشحات البريد المزعج.
Postal مقابل حلول SaaS ومقابل Postfix
مرّر الجدول أفقيًا
| المعيار | Postal (مستضاف ذاتياً) | Mailgun / Postmark | SMTP relay Postfix |
|---|---|---|---|
| الرؤية | واجهة كاملة : سجل لكل رسالة، سجل إرجاعات، إحصاءات لكل نطاق | لوحة تحكم SaaS مع سجلات 30 يوماً (حسب الخطة) | لا واجهة — سجلات النظام فقط |
| التكلفة | VPS + وقت الإدارة (لا تكلفة لكل بريد إلكتروني) | فوترة لكل إرسال (حوالي 0.80-1.20$ لكل 1,000 بريد) | VPS فقط (لا تكلفة برمجية) |
| التحكم | كامل : IP، الاحتفاظ، سياسة الإرجاع، عزل لكل عميل | جزئي : سياسات يفرضها المزوِّد، IP مشتركة افتراضياً | تحكم كامل في التوجيه، صفر رؤية |
| حد الإرسال | مقيّد بموارد VPS وسمعة IP — قابل للتوسع | حصص حسب الخطة، التوسع يُفاتَر | مقيّد بـVPS — لا إدارة أصلية لحصص لكل نطاق |
بنية تحتية للبريد الإلكتروني تحت سيطرتك
Postal هو الأداة التي تبحث عنها الوكالات حين تدرك أن Postfix وحده لم يعد كافياً لإدارة محفظة عملاء. المنصة تُحضر الرؤية الغائبة — سجلات منظمة، إرجاعات متتبَّعة، إحصاءات لكل نطاق — دون القيود السعرية واعتماديات SaaS.
خادم VPS بـ2 vCPU و4 جيجابايت من ذاكرة الوصول العشوائي وIPv4 مخصصة يكفي للبدء. المنفذ 25 المفتوح وrDNS المُهيَّأ بشكل صحيح هما الشرطان الأساسيان اللذان لا يوفّرهما كثير من المزودين افتراضياً — تحقق منهما قبل الطلب.