لماذا تحتاج الوكالات إلى منصة 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
تجهيز الخادم وتثبيت 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. إذا فشل الاتصال، تواصل مع مزود الاستضافة لفتحه.تهيئة 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 الخادم، وسجل MX10 postal.your-agency.com، وسجل TXTv=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 دقيقة) قبل المتابعة.
تهيئة 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).تشغيل 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.إنشاء أول مستخدم مسؤول
أنشئ حساب المسؤول للوصول إلى واجهة الويب :
postal make-userأدخل عنوان البريد الإلكتروني والاسم وكلمة المرور للمسؤول.
تشغيل Postal وتهيئة الخادم الوسيط
شغّل جميع خدمات Postal (الويب، العمال، SMTP) :
postal start postal statusيعرض Postal واجهة الويب على
127.0.0.1:5000، فلا يمكن الوصول إليها من الإنترنت مباشرة. ضع خادماً وسيطاً (Caddy أو nginx) أمامه لإنهاء TLS، ثم ادخل علىhttps://postal.your-agency.com.إنشاء منظمة وأول خادم إرسال
في واجهة 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 ~allDKIM — انشر قيمة 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 المُهيَّأ بشكل صحيح هما الشرطان الأساسيان اللذان لا يوفّرهما كثير من المزودين افتراضياً — تحقق منهما قبل الطلب.