دليل النشر

Mailpit: بديل MailHog لاختبار البريد على VPS

انشر على VPS Cloud →

الاستضافة الذاتية5 دقيقة قراءة

Mailpit: بديل MailHog لاختبار البريد على VPS

Mailpit هو الخلف الفعلي لـ MailHog: خادم SMTP اختباري يلتقط كل رسالة يرسلها تطبيقك ويعرضها في واجهة ويب حديثة دون تسليمها لأي مستلم حقيقي. مع البحث النصي الكامل وتقييم البريد العشوائي وفحص توافق HTML وواجهة REST API لسلاسل CI، أصبح Mailpit المعيار الجديد لفرق اختبار إرسال البريد الإلكتروني. يوضح هذا الدليل كيفية نشره في أقل من دقيقتين على VPS.

لماذا استبدال MailHog بـ Mailpit

كان MailHog الخادم الاختباري الشائع قبل خمس سنوات، لكنه متروك منذ 2020 ويحمل ثغرة XSS مخزنة غير مصلحة (Exploit-DB 50971): أي بريد يحتوي جافاسكريبت قد يخترق الواجهة. Mailpit يحل محله ببرنامج Go حديث (أقل من 50 ميغابايت RAM)، وواجهة أنيقة، وبحث نصي كامل، وREST API موثقة، وتقرير توافق HTML، وتقييم بريد عشوائي مدمج. أصبح المعيار الافتراضي في Laravel Sail منذ الإصدار 11 وفي DDEV منذ الإصدار 1.22.

ما يقدمه Mailpit عملياً

  • اعتراض SMTP على المنفذ 1025 — لا رسائل تغادر VPS، أشر تطبيقك على localhost:1025.
  • واجهة ويب على المنفذ 8025 مع بحث نصي كامل.
  • REST API GET /api/v1/messages — استعلم عن الرسائل من الاختبارات دون relay خارجي.
  • تقييم بريد عشوائي بقواعد SpamAssassin لاكتشاف مشاكل التسليم مبكراً.
  • تقرير توافق HTML لرصد خصائص CSS المحذوفة في Gmail وOutlook.
  • معاينة الهاتف والمصدر الخام مع عرض HTML كامل.
  • واجهة POP3 لجلب الرسائل بأي برنامج بريد.
  • SQLite على volume دائم — الرسائل تنجو من إعادة تشغيل الحاوية.

بنية النشر على VPS

Mailpit يعمل في حاوية Docker واحدة. خادم SMTP يعمل على localhost:1025 (loopback فقط)، مما يعني أن التطبيقات على نفس VPS فقط يمكنها إرسال رسائل إليه. الواجهة على localhost:8025 تُوجَّه عبر nginx لنطاق من اختيارك. النمط مطابق لـ Node-RED وPlausible وUmami: حاوية واحدة، منفذ loopback، نطاق nginx، volume دائم.

نشر Mailpit في 5 خطوات

01

النشر من متجر ServOrbit

افتح لوحة التحكم، اذهب إلى Marketplace ← التطوير ← Mailpit وانقر نشر. الحاوية تبدأ في أقل من عشر ثوانٍ.

02

ضبط SMTP تطبيقك

في متغيرات البيئة، اضبط MAIL_HOST=127.0.0.1 وMAIL_PORT=1025. لا توثيق ولا TLS مطلوبان افتراضياً.

03

فتح واجهة الويب

انتقل للنطاق المرتبط بـ Mailpit. ستجد صندوق الوارد اللحظي: انقر أي رسالة لفحص عرض HTML والرؤوس وتقييم البريد العشوائي.

04

دمج REST API في الاختبارات

استدعِ GET /api/v1/messages من مجموعة اختباراتك. صفّ حسب المستلم وتحقق من الموضوع وعدّ المرفقات دون mocks.

05

فحص توافق HTML

افتح أي بريد HTML وانقر تبويب التوافق. Mailpit يسرد خصائص CSS غير المدعومة عميلاً بعميل مع روابط للإصلاح.

Mailpit في CI/CD: اختبار البريد في الـ pipeline

انشر Mailpit كخدمة في docker-compose.yml الاختباري. ترسل الاختبارات البريد لـ localhost:1025 ثم تتحقق عبر REST API من استلام الرسالة الصحيحة — دون relay خارجي.

Mailpit مقابل MailHog مقابل Mailtrap

المطورAxle Springer (نشط)متروك منذ 2020Mailtrap Inc. (SaaS)
الأمانلا ثغرات معروفةXSS مخزنة غير مصلحةSaaS — بيانات خارجية
REST APIكاملة وموثقةأساسية وغير موثقةنعم (خطة مدفوعة)
تقييم البريد العشوائيمدمج (SpamAssassin)غير متوفرنعم (خطة مدفوعة)
توافق HTMLتقرير مدمجغير متوفرنعم (خطة مدفوعة)
السعرمجاني، MITمجاني، MITFreemium، ثم 24 $/شهر
الاستضافة الذاتيةحاوية Docker واحدةملف Go واحدSaaS فقط

حالات استخدام متقدمة

يوفر Mailpit ميزات متقدمة: وضع متعدد المستأجرين (--mp-tenant) لفصل الرسائل حسب التطبيق، وتوثيق SMTP (MP_SMTP_AUTH_FILE) لتقييد الاتصالات، وMP_UI_AUTH_FILE لإضافة حماية للواجهة، وMP_MAX_MESSAGES للتحكم في حجم الرسائل المحتفظ بها.

انشر Mailpit بنقرة واحدة على ServOrbit

مع VPS ServOrbit Cloud، يتوفر Mailpit مباشرة في المتجر. أعدّ بيئة اختبار SMTP في دقيقتين دون خادم منفصل.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـ العربية والفرنسية والإنجليزية.