بريد إلكتروني جماعي بدون تكرارات

تخيل أن عضوًا قد حدد المجموعات والفئات الفرعية التي يهتم بها.

أريد إرسال إعلان إلى أولئك الذين اختاروا أيًا من هذه المجموعات والفئات الفرعية.

مثال: في مدينة تتكون من المدينة الرئيسية العالمية، والعديد من الأحياء والمسائل.

يمكن للمستخدم تحديد:

  • مسألة محددة (والتي تعتبر مجموعة عامة)،
  • مجموعة في حيه لهذه المسألة،
  • مجموعة في حيين آخرين لهذه المسألة،
  • مسألة ثانية محددة (والتي تعتبر مجموعة عامة)،
  • جميع المجموعات في جميع الأحياء لهذه المسألة،
  • المجموعة الرئيسية للمدينة الرئيسية؛

إذا كنت أرغب في إرسال بريد إلكتروني إلى مجموعة واحدة أو أكثر أو فئات فرعية في هذه المجموعات، فقد ينتهي الأمر ببعض المستخدمين بتلقي أكثر من بريد إلكتروني واحد لنفس الإعلان، خاصة إذا اختار الشخص مجموعة المدينة الرئيسية التي ستوجه المعلومات من جميع الأحياء، بالإضافة إلى بعض المجموعات الفرعية، وما إلى ذلك.

السؤال: كيف يمكنني إعداد قائمة بريدية تتضمن أكثر من مجموعة مستهدفة وقائمة فئات فرعية، خالية من التكرار، وإرسال هذه الرسالة؟

  1. هل أحتاج إلى استخدام برنامج نصي خارجي؟

  2. هل أحتاج إلى معالج بريد إلكتروني خارجي؟

شكرًا
مارك

إذا كنت تتطلب تسليمًا مضمونًا خاليًا من التكرار عبر مجموعات وفئات عشوائية، فيجب عليك:

  • تصدير قوائم المستخدمين من المجموعات أو الفئات المستهدفة.
  • دمج وإزالة التكرارات من هذه القوائم، يدويًا أو باستخدام برنامج نصي.
  • استخدام معالج بريد إلكتروني خارجي لإرسال الرسالة إلى القائمة التي تم إزالة التكرارات منها.

هذه هي الطريقة الأكثر قوة لضمان عدم تلقي المستخدمين نفس الإعلان عدة مرات.

شكراً، هل تعرف إذا كان بإمكاننا أتمتة ذلك، مثل طلب واجهة برمجة التطبيقات (API) لتلقي رسائل لكل تسجيل/سحب عضو جديد أو اختيار مجموعة/فئة، وتلقي التغييرات الجديدة فقط أو (أقل جودة) القائمة بأكملها مع مجموعتها/فئتها، والتي يمكن لبرنامج بايثون طلبها؟ (يمكنني إدارة برمجة بايثون). السؤال يتعلق أكثر بالتواصل الآلي بين Discourse و Python و Python ومعالج البريد.

يوفر Discourse واجهة برمجة تطبيقات REST قوية (REST API) تتيح لك:

  • سرد جميع المستخدمين والمجموعات وعضويات المستخدمين والمجموعات
  • مراقبة تسجيلات المستخدمين الجديدة وإجراءات الانضمام/المغادرة للمجموعات (عبر الاستقصاء أو خطافات الويب)
  • استرداد تكوينات عضوية الفئات

يمكنك الاستعلام عن القائمة الكاملة أو محاولة تتبع التغييرات الأخيرة. للكشف الكامل عن التغييرات التدريجية، قد تحتاج إلى تنفيذ فحوصات تستند إلى الوقت وإدارة الاختلافات محليًا. تتم معالجة المصادقة من خلال رؤوس HTTP (Api-Key، Api-Username).

ومع ذلك، للحصول على تحكم أكثر كفاءة وتكاملاً، أوصي بإنشاء إضافة Discourse مخصصة (custom Discourse plugin). تعمل الإضافة داخل بيئة خادم Discourse وتوفر وصولاً مباشرًا إلى الأجزاء الداخلية لـ Discourse، مثل:

  • تحديثات عضوية المستخدم والمجموعة والفئة
  • خطافات أحداث دورة الحياة للتسجيلات وتغييرات المجموعة
  • وصول مباشر إلى واجهات برمجة التطبيقات الداخلية وقاعدة بيانات Discourse

يمنحك هذا النهج إمكانيات في الوقت الفعلي ومرونة أكبر لتنفيذ سير العمل الآلي مثل معالجة البريد أو تقسيم المستخدمين.

هل يمكننا إنشاء إضافة تعمل على نسختنا حتى لو كانت مستضافة بواسطة Discourse، أم نحتاج إلى استضافتها؟

إذا كانت إضافة غير رسمية، أعتقد أنه لا يمكنك تثبيتها إلا على الخطة المؤسسية، وإلا فسيتعين عليك استضافتها بنفسك.

  • إنشاء قوائم ديناميكية (بيانات المستخدم/المجموعة/الفئة) وعرضها أو تخزينها داخل Discourse.
  • تصدير البيانات إلى ملف، أو إنشاء تقارير إدارية قابلة للتنزيل.
  • إجراء طلبات HTTP(S) إلى خادم آخر (على سبيل المثال، دفع تحديثات قائمة المستخدمين إلى أداة Python/البريد الإلكتروني الخاصة بك).
  • تشغيل خطافات الويب، وجدولة المهام، أو التكامل مباشرة مع واجهات برمجة التطبيقات الخارجية - كل ذلك من داخل Discourse، دون الحاجة إلى الاستقصاء.

@EMHmark7 هل تمكنت من معرفة كيفية جعل هذا يعمل؟

في Discourse، إحدى الطرق لتحقيق ما تريده هي إنشاء فئات والسماح لأعضاء المجتمع “بالاشتراك” في تلك الفئات عن طريق اختيار مستوى الإشعارات “مراقبة”. تعد “فئات افتراضية مراقبة” أو “أول مشاركة في فئات افتراضية مراقبة” مفيدة لوجود فئة إعلانات على موقعك، للتواصل مع الجميع على موقعك.

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

نهج آخر هو إرسال رسائل خاصة للمجموعات مباشرة - إذا أرسلت رسالة خاصة إلى عدد قليل من المجموعات وكان نفس العضو في مجموعات متعددة، فلن يكون هناك أي تكرار.

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

كل هذا يمكن أن يعيش في كود خارج Discourse، لذلك لا يتعين عليك تثبيته. إذا كنت تستخدم WordPress، فيمكنك الحصول على الكثير من هذا مجانًا باستخدام https://github.com/discourse/wp-discourse، ثم استخدام إضافة WordPress أخرى للتعامل مع جزء القائمة البريدية.