لماذا تستضيف Mautic ذاتيًا
Mailchimp تفرض 110-350 دولارًا شهريًا لـ 10,000 جهة اتصال. Mautic يلغي هذا النموذج: تدفع فقط تكلفة الخادم دون سقف للاتصالات.
المنصة مرخصة بـ GPL-3.0 ويديرها Mautic Council منتخب، بينما تحتفظ Open Source Collective بعلامة MAUTIC التجارية والنطاقات لصالح المشروع. لا توجد نسخة مجانية مقيدة لتتجاوزها: Mautic ليست نسخة مبتورة من منتج مدفوع.
ما تحصل عليه مع Mautic المستضافة ذاتيًا
- منشئ حملات مرئي — تفرعات شرطية ومهل زمنية.
- تسجيل النقاط — نقاط للفتح والنقر وزيارات الصفحات.
- تجزئة ديناميكية — فلاتر على أي سمة من سمات جهة الاتصال.
- صفحات هبوط ونماذج — مستضافة على نطاقك.
- REST API كاملة — تكامل مع أدواتك.
- رخصة GPL-3.0 — بلا سقف للاتصالات ولا رسوم لكل بريد.
⚠ Mautic 5.2 LTS في نهاية دورة الحياة — انتقل إلى Mautic 7
انتهى دعم الأمان لـ Mautic 5.2 LTS في 30 يونيو 2026. لن تصدر أي تصحيحات أمنية لفرع 5.2.x. النسخ التي لا تزال تعمل على هذه السلسلة معرضة للخطر.
الإصدار النشط الحالي هو Mautic 7.2.1 «Absolunto Edition» (دورة دعم نشطة أربع سنوات حتى حوالي 2030). كان Mautic 6 إصدارًا وسيطًا بدورة قصيرة وهو أيضًا في نهاية دورة حياته.
مسار الترحيل (تسلسلي إلزامي):
1. Mautic 5.2 ← Mautic 6.x (آخر نسخة مستقرة)
2. Mautic 6.x ← Mautic 7.x
قبل أي ترحيل: احتفظ بنسخة احتياطية من حجمَي mautic_data وmautic_db. اختبر على بيئة تجريبية. تحقق من توافق الإضافات الخارجية مع Mautic 7.
بنية Docker في Mautic 7
يحتفظ Mautic 7.x بنموذج الأدوار المتعددة: صورة Docker واحدة تُنشئ ثلاثة أدوار: mautic_web وmautic_cron وmautic_worker. نسخة رابعة هي MySQL 8.0.
الدور mautic_cron هو الأكثر أهمية وغالبًا ما يُقلَّل من شأنه. Mautic لا يرسل شيئًا من طلب الويب: لا تنطلق الحملة المنشورة إلا لأن mautic:campaigns:trigger وmautic:emails:send تعمل بانتظام.
Mautic 7 يتطلب PHP 8.1 أو أعلى وMySQL 8.0 / MariaDB 10.4 كحد أدنى. إصلاح تقارير ONLY_FULL_GROUP_BY (issue #17092) مُدمج منذ Mautic 7.2.0.
تثبيت Mautic على VPS ServOrbit
النشر من Marketplace
Marketplace → أتمتة وسير العمل → Mautic → نشر. AWX يُهيئ Ubuntu 24.04 وDocker والحاويات الأربع.
إكمال معالج تثبيت Mautic
افتح نطاقك في المتصفح. أدخل URL الموقع وأنشئ حساب المسؤول. احرص على صحة URL الموقع من أول مرة: تعتمد عليه بكسلات التتبع وصفحات الهبوط وروابط إلغاء الاشتراك.
إعداد ترحيل SMTP
الإعدادات → إعدادات البريد. اختر Amazon SES أو Mailgun أو Brevo. اختبر قبل أي حملة.
إعداد SPF وDKIM وDMARC
قبل أول إرسال، أضف سجلات DNS الثلاثة لنطاق الإرسال. SPF يُعلن الخوادم المصرح لها: أضف سجل TXT
v=spf1 include:<مرحّلك> -all. DKIM يوقع كل رسالة: أنشئ زوج مفاتيح في مرحّل SMTP، انشر المفتاح العام تحت default._domainkey.نطاقك.com، وفعّل التوقيع في الإعدادات. DMARC يربط الاثنين: ابدأ بـ v=DMARC1; p=none; rua=mailto:dmarc@نطاقك.comثم انتقل تدريجيًا إلى p=reject. بدون هذه السجلات المتوافقة، يرفض Gmail وOutlook حملاتك فوق 5,000 إرسال يوميًا.إنشاء شريحة واستيراد جهات الاتصال
الشرائح → شريحة جديدة. جهات الاتصال → استيراد CSV. فعّل الاشتراك المزدوج للجمهور الأوروبي أو المغربي.
بناء حملتك الأولى ونشرها
الحملات → حملة جديدة. اسحب المصدر وأضف إجراء البريد وحدد التأخيرات. انشر.
SPF وDKIM وDMARC ضرورية قبل أول إرسال. بدونها تصل حملاتك إلى البريد العشوائي.
حالة استخدام: استبدال Mailchimp
وكالة تسويق بـ 80,000 جهة اتصال كانت تدفع 620 يورو شهريًا. بعد الانتقال إلى Mautic على VPS 4 غيغابايت، انخفضت الفاتورة إلى تكلفة خادم واحد. الهجرة استغرقت يومين.
ما لا ينقله تصدير CSV هو تاريخ التفاعل. كل جهة اتصال مستوردة تصل إلى Mautic بنقاط صفر.
الأداء: العمال وقوائم الانتظار والأوامر المجدولة
الأوامر الحرجة وتكرارها الموصى به:
- mautic:segments:update — كل 5 دقائق
- mautic:campaigns:trigger — كل 5 دقائق
- mautic:emails:send — كل 5 دقائق
- mautic:emails:fetch — كل 10 دقائق
- mautic:import — كل 5 دقائق
إذا لم تُنفَّذ هذه الأوامر، لن تُرسَل الحملات المنشورة. تحقق بـ: docker logs mautic_cron --tail 50.
استكشاف الأخطاء: الأخطاء الشائعة
البريد لا يُرسل — حملة متوقفة. تحقق من تشغيل حاوية mautic_cron وتنفيذها لأمر mautic:emails:send.
خطأ HTTP 500 في التقارير. إذا كنت لا تزال على Mautic 5.2 مع MySQL 8.0، فوضع ONLY_FULL_GROUP_BY يسبب أخطاء SQL 1055. على Mautic 7.2.0+ هذه المشكلة محلولة.
بكسلات التتبع لا تُحسب. تحقق من أن URL الموقع يطابق النطاق المخدوم بالضبط (https، بدون شرطة مائلة في النهاية).
استيراد CSV متوقف. يجب أن يكون ملف CSV مشفرًا بـ UTF-8 بدون BOM.
توافق MySQL 8: خطأ HTTP 500 ووضع ONLY_FULL_GROUP_BY
ملاحظة: هذه المشكلة محلولة في Mautic 7.2.0+. للنسخ التي لا تزال على Mautic 5.2.x:
بعض تقارير Mautic تُرجع HTTP 500 فور فتحها. التشخيص: وضع SQL ONLY_FULL_GROUP_BY يرفض استعلامات SELECT. تحقق بـ:
SHOW GLOBAL VARIABLES LIKE 'sql_mode';الإصلاح أ: SET PERSIST sql_mode = (SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', '')) ثم دائمًا في ملف compose.
الإصلاح ب: الانتقال إلى MariaDB 10.x. قوالب ServOrbit بـ MariaDB 10.11 غير متأثرة.