Listmonk مع Forward Email لتسليم النشرات الإخبارية بشكل آمن

يوفر هذا الدليل للمطورين تعليمات خطوة بخطوة لإعداد Listmonk، مدير النشرات الإخبارية وقوائم البريد المفتوح المصدر القوي، لاستخدام Forward Email كمزود SMTP الخاص به. يتيح لك هذا الجمع إدارة حملاتك بفعالية مع ضمان تسليم البريد الإلكتروني بشكل آمن وخاص وموثوق.

  • Listmonk: يدير إدارة المشتركين، وتنظيم القوائم، وإنشاء الحملات، وتتبع الأداء.
  • Forward Email: يعمل كخادم SMTP آمن، يتولى إرسال الرسائل الفعلية مع ميزات أمان مدمجة مثل SPF وDKIM وDMARC وتشفير TLS.

من خلال دمج هذين النظامين، تحتفظ بالتحكم الكامل في بياناتك وبنيتك التحتية مع الاستفادة من نظام التسليم القوي الخاص بـ Forward Email.

  • مفتوح المصدر: يؤكد كل من Listmonk والمبادئ وراء Forward Email على الشفافية والتحكم. أنت تستضيف Listmonk بنفسك، مما يعني ملكيتك لبياناتك.
  • مركز على الخصوصية: تم بناء Forward Email مع التركيز على الخصوصية، مما يقلل من الاحتفاظ بالبيانات ويركز على النقل الآمن.
  • فعالية من حيث التكلفة: Listmonk مجاني، وForward Email يقدم مستويات مجانية سخية وخطط مدفوعة بأسعار معقولة، مما يجعل هذا الحل مناسبًا للميزانية.
  • قابلية التوسع: Listmonk عالي الأداء، وبنية Forward Email مصممة للتسليم الموثوق على نطاق واسع.
  • صديق للمطورين: يوفر Listmonk API قوي، ويوفر Forward Email تكامل SMTP بسيط وwebhooks.

قبل أن تبدأ، تأكد من توفر ما يلي:

  • خادم خاص افتراضي (VPS) يعمل بتوزيعة لينكس حديثة (يوصى بـ Ubuntu 20.04+)، مع معالج واحد على الأقل وذاكرة 1 جيجابايت (يوصى بـ 2 جيجابايت).
  • اسم نطاق تملكه (مطلوب الوصول إلى DNS).
  • حساب نشط مع Forward Email.
  • وصول root أو sudo إلى VPS الخاص بك.
  • معرفة أساسية باستخدام أوامر لينكس.

توجهك هذه الخطوات خلال تثبيت Listmonk باستخدام Docker وDocker Compose على VPS الخاص بك.

1. تحديث الخادم الخاص بك

تأكد من تحديث قائمة الحزم والنظام لديك.

sudo apt update && sudo apt upgrade -y

2. تثبيت التبعيات

قم بتثبيت Docker وDocker Compose وUFW (جدار الحماية البسيط).

sudo apt install -y docker.io docker-compose ufw

3. تنزيل تكوين Listmonk

أنشئ مجلدًا لـ Listmonk وقم بتنزيل ملف docker-compose.yml الرسمي.

mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml

يحدد هذا الملف حاوية تطبيق Listmonk وحاوية قاعدة بيانات PostgreSQL المطلوبة.

4. تكوين جدار الحماية (UFW)

اسمح بحركة المرور الأساسية (SSH، HTTP، HTTPS) عبر جدار الحماية. إذا كان SSH يعمل على منفذ غير قياسي، قم بالتعديل وفقًا لذلك.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

أكد تفعيل جدار الحماية عند الطلب.

5. تكوين الوصول عبر HTTPS

تشغيل Listmonk عبر HTTPS أمر ضروري للأمان. لديك خياران رئيسيان:

إذا كان DNS لنطاقك مُدارًا بواسطة Cloudflare، يمكنك الاستفادة من ميزة البروكسي الخاصة بهم لتسهيل HTTPS.

  1. توجيه DNS: أنشئ سجل A في Cloudflare لنطاق فرعي لـ Listmonk الخاص بك (مثل listmonk.yourdomain.com) يشير إلى عنوان IP الخاص بخادم VPS. تأكد من أن حالة البروكسي مضبوطة على Proxied (السحابة البرتقالية).
  2. تعديل Docker Compose: حرر ملف docker-compose.yml الذي قمت بتحميله:
    sed -i 's/9000:9000/80:9000/' docker-compose.yml
    
    هذا يجعل Listmonk متاحًا داخليًا على المنفذ 80، والذي يمكن لـ Cloudflare بعد ذلك البروكسي وتأمينه عبر HTTPS.

الخيار ب: استخدام بروكسي عكسي (Nginx، Caddy، إلخ)

بدلاً من ذلك، يمكنك إعداد بروكسي عكسي مثل Nginx أو Caddy على VPS الخاص بك للتعامل مع إنهاء HTTPS وبروكسي الطلبات إلى Listmonk (الذي يعمل على المنفذ 9000 بشكل افتراضي).

  • احتفظ بالإعداد الافتراضي ports: - "127.0.0.1:9000:9000" في docker-compose.yml لضمان أن Listmonk متاح فقط محليًا.
  • قم بتكوين البروكسي العكسي الذي اخترته للاستماع على المنافذ 80 و443، والتعامل مع الحصول على شهادة SSL (مثلًا عبر Let's Encrypt)، وإعادة توجيه الحركة إلى http://127.0.0.1:9000.
  • إعداد البروكسي العكسي بالتفصيل خارج نطاق هذا الدليل، لكن هناك العديد من الشروحات المتاحة على الإنترنت.

6. بدء تشغيل Listmonk

ارجع إلى مجلد listmonk الخاص بك (إذا لم تكن هناك بالفعل) وابدأ الحاويات في وضع الخلفية.

cd ~/listmonk # أو المجلد الذي حفظت فيه docker-compose.yml
docker compose up -d

سيقوم Docker بتنزيل الصور اللازمة وتشغيل تطبيق Listmonk وحاويات قاعدة البيانات. قد يستغرق الأمر دقيقة أو دقيقتين في المرة الأولى.

الوصول إلى Listmonk: يجب أن تكون قادرًا الآن على الوصول إلى واجهة Listmonk عبر النطاق الذي قمت بتكوينه (مثل https://listmonk.yourdomain.com).

7. تكوين SMTP الخاص بـ Forward Email في Listmonk

بعد ذلك، قم بتكوين Listmonk لإرسال البريد الإلكتروني باستخدام حساب Forward Email الخاص بك.

  1. تفعيل SMTP في Forward Email: تأكد من أنك قد أنشأت بيانات اعتماد SMTP داخل لوحة تحكم حساب Forward Email الخاص بك. اتبع دليل Forward Email لإرسال البريد باستخدام نطاق مخصص عبر SMTP إذا لم تقم بذلك بعد.
  2. تكوين Listmonk: سجل الدخول إلى لوحة إدارة Listmonk.
    • انتقل إلى الإعدادات -> SMTP.

    • لدى Listmonk دعم مدمج لـ Forward Email. اختر ForwardEmail من قائمة المزودين، أو أدخل التفاصيل التالية يدويًا:

      الإعداد القيمة
      المضيف smtp.forwardemail.net
      المنفذ 465
      بروتوكول المصادقة LOGIN
      اسم المستخدم اسم مستخدم SMTP الخاص بـ Forward Email الخاص بك
      كلمة المرور كلمة مرور SMTP الخاصة بـ Forward Email الخاص بك
      TLS SSL/TLS
      البريد الإلكتروني المرسل منه العنوان الذي ترغب في استخدامه كـ From (مثل newsletter@yourdomain.com). تأكد من أن هذا النطاق مُكوَّن في Forward Email.
  • مهم: استخدم دائمًا المنفذ 465 مع SSL/TLS للاتصالات الآمنة مع Forward Email (موصى به). المنفذ 587 مع STARTTLS مدعوم أيضًا ولكن يفضل SSL/TLS.

    • انقر على حفظ.
  1. إرسال بريد إلكتروني تجريبي: استخدم زر "إرسال بريد إلكتروني تجريبي" داخل صفحة إعدادات SMTP. أدخل عنوان مستلم يمكنك الوصول إليه وانقر على إرسال. تحقق من وصول البريد الإلكتروني إلى صندوق الوارد الخاص بالمستلم.

8. تكوين معالجة الارتدادات

تتيح معالجة الارتدادات لـ Listmonk التعامل تلقائيًا مع رسائل البريد الإلكتروني التي لم يتم تسليمها (مثلًا بسبب عناوين غير صالحة). يوفر Forward Email واجهة ويب هوك لإخطار Listmonk بالارتدادات.

إعداد Forward Email

  1. سجّل الدخول إلى لوحة تحكم Forward Email.
  2. انتقل إلى النطاقات، واختر النطاق الذي تستخدمه للإرسال، واذهب إلى صفحة الإعدادات الخاصة به.
  3. مرّر لأسفل إلى قسم رابط ويب هوك الارتداد.
  4. أدخل الرابط التالي، مع استبدال <your_listmonk_domain> بالنطاق أو النطاق الفرعي الفعلي حيث يمكن الوصول إلى مثيل Listmonk الخاص بك:
    https://<your_listmonk_domain>/webhooks/service/forwardemail
    
    مثال: https://listmonk.yourdomain.com/webhooks/service/forwardemail
  5. مرّر لأسفل أكثر إلى قسم مفتاح التحقق من توقيع الحمولة لويب هوك.
  6. انسخ مفتاح التحقق المُولد. ستحتاجه في Listmonk.
  7. احفظ التغييرات في إعدادات نطاق Forward Email الخاص بك.

إعداد Listmonk

  1. في لوحة إدارة Listmonk، انتقل إلى الإعدادات -> الارتدادات.
  2. فعّل تمكين معالجة الارتدادات.
  3. فعّل تمكين ويب هوك الارتدادات.
  4. مرّر لأسفل إلى قسم مزودو الويب هوك.
  5. فعّل Forward Email.
  6. الصق مفتاح التحقق من توقيع الحمولة لويب هوك الذي نسخته من لوحة تحكم Forward Email في حقل مفتاح Forward Email.
  7. انقر على حفظ في أسفل الصفحة.
  8. تم الآن تكوين معالجة الارتدادات! عندما يكتشف Forward Email ارتدادًا لبريد إلكتروني أرسله Listmonk، سيُخطر مثيل Listmonk الخاص بك عبر الويب هوك، وسيقوم Listmonk بوضع علامة على المشترك وفقًا لذلك.
  9. أكمل الخطوات أدناه في الاختبار للتأكد من أن كل شيء يعمل.

إليك نظرة سريعة على الوظائف الأساسية لـ Listmonk:

إنشاء قائمة بريدية

  • اذهب إلى القوائم في الشريط الجانبي.
  • انقر على قائمة جديدة.
  • املأ التفاصيل (الاسم، النوع: عام/خاص، الوصف، الوسوم) ثم احفظ.

إضافة المشتركين

  • انتقل إلى قسم المشتركين.
  • يمكنك إضافة المشتركين:
    • يدويًا: انقر على مشترك جديد.
    • استيراد: انقر على استيراد المشتركين لتحميل ملف CSV.
    • API: استخدم API الخاص بـ Listmonk للإضافات البرمجية.
  • قم بتعيين المشتركين إلى قائمة واحدة أو أكثر أثناء الإنشاء أو الاستيراد.
  • أفضل ممارسة: استخدم عملية الاشتراك المزدوج. قم بتكوين ذلك تحت الإعدادات -> الاشتراك والموافقات.

إنشاء وإرسال حملة

  • اذهب إلى الحملات -> حملة جديدة.
  • املأ تفاصيل الحملة (الاسم، الموضوع، البريد الإلكتروني المرسل منه، القائمة/القوائم المرسلة إليها).
  • اختر نوع المحتوى (نص منسق/HTML، نص عادي، HTML خام).
  • قم بكتابة محتوى بريدك الإلكتروني. يمكنك استخدام متغيرات القالب مثل {{ .Subscriber.Email }} أو {{ .Subscriber.FirstName }}.
  • أرسل دائمًا بريدًا تجريبيًا أولاً! استخدم خيار "إرسال تجريبي" لمعاينة البريد في صندوق الوارد الخاص بك.
  • بمجرد الرضا، انقر على بدء الحملة للإرسال فورًا أو جدولتها لاحقًا.

  • تسليم SMTP: أرسل بانتظام رسائل بريد إلكتروني تجريبية عبر صفحة إعدادات SMTP في Listmonk وحملات اختبار للتأكد من تسليم الرسائل بشكل صحيح.
  • معالجة الارتدادات: أرسل حملة اختبار إلى عنوان بريد إلكتروني غير صالح معروف (مثلًا bounce-test@yourdomain.com إذا لم يكن لديك واحد حقيقي، مع العلم أن النتائج قد تختلف). تحقق من إحصائيات الحملة في Listmonk بعد فترة قصيرة لترى ما إذا تم تسجيل الارتداد.
  • رؤوس البريد الإلكتروني: استخدم أدوات مثل Mail-Tester أو افحص رؤوس البريد يدويًا للتحقق من نجاح SPF وDKIM وDMARC، مما يدل على الإعداد الصحيح عبر Forward Email.
  • سجلات Forward Email: تحقق من سجلات لوحة تحكم Forward Email إذا اشتبهت في وجود مشاكل في التسليم ناتجة عن خادم SMTP.

  • القوالب: يستخدم Listmonk محرك القوالب الخاص بـ Go. استكشف وثائقها للتخصيص المتقدم: {{ .Subscriber.Attribs.your_custom_field }}.
  • واجهة برمجة التطبيقات (API): يوفر Listmonk واجهة REST API شاملة لإدارة القوائم والمشتركين والحملات والقوالب والمزيد. ابحث عن رابط وثائق API في تذييل صفحة مثيل Listmonk الخاص بك.
  • الحقول المخصصة: عرّف حقول مشترك مخصصة تحت الإعدادات -> حقول المشتركين لتخزين بيانات إضافية.
  • الويب هوكس: بالإضافة إلى الارتدادات، يمكن لـ Listmonk إرسال ويب هوكس لأحداث أخرى (مثل الاشتراكات)، مما يسمح بالتكامل مع أنظمة أخرى.

من خلال دمج قوة Listmonk المستضافة ذاتيًا مع التسليم الآمن والمحترم للخصوصية لـ Forward Email، تخلق منصة تسويق عبر البريد الإلكتروني قوية وأخلاقية. تحتفظ بالملكية الكاملة لبيانات جمهورك مع الاستفادة من قابلية التسليم العالية وميزات الأمان الآلية.

يوفر هذا الإعداد بديلاً قابلاً للتوسع وفعال التكلفة وسهل الاستخدام للمطورين مقارنة بخدمات البريد الإلكتروني المملوكة، ويتماشى تمامًا مع فلسفة البرمجيات مفتوحة المصدر وخصوصية المستخدم.

إرسال سعيد! 🚀