كيفية منع إرسال رسائل بريد إلكتروني أخرى غير تأكيد المسؤول عند منح صلاحيات المسؤول/المشرف؟

نحن نستخدم Discourse كخدمة مخفية وندير المستخدمين عبر واجهات برمجة التطبيقات (APIs).

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

  • user_private_message (مثل: “تهانينا، تم منحك صلاحيات المشرف/المراقب”)
  • user_replied

هل هناك إعداد أو نهج موصى به لمنع إرسال هذه الرسائل الإضافية إلى المستخدم المُرَقَّ مع الاحتفاظ بسلوك تأكيد المشرف؟

الإعدادات ذات الصلة:

  • disable_emails = non-staff
  • default_email_level = 2 (أبدًا)
  • default_email_messages_level = 2 (أبدًا)

لقد راجعنا بالفعل الإعدادات المتعلقة بالبريد الإلكتروني والإشعارات، ويبدو أن التكوين مطابق لبيئة أخرى يتم فيها إنشاء بريد admin_confirmation_message فقط.

أعتقد أن هذا قد يعمل مع disable_emails مضبوطًا على yes بدلاً من non-staff، فهناك بعض الرسائل الإلكترونية التي تتجاوز هذا الإعداد وadmin_confirmation_message هي إحدى هذه الرسائل.

نجح الأمر! تُرسَل رسائل البريد الإلكتروني الآن فقط لـ admin_confirmation_message. ومع ذلك، أحتاج أيضًا إلى تضمين رسالة «نسيت كلمة المرور» لتمكين المدراء من إعادة تعيين كلمات المرور عند الحاجة.

وبما أنني أستخدم نسخة من Discourse مُحمَّلة في حاويات Docker، فلا يمكنني تعديل ملف الكود المصدري الذي ذكرته مباشرةً.

هل توجد طريقة أخرى للسماح لرسالة «نسيت كلمة المرور» — أو أنواع أخرى من رسائل البريد الإلكتروني — بتجاوز هذا القيد؟ حاليًا، أحتاج إلى السماح بـ admin_confirmation_message و forgot_password و test_message. وإذا أمكن إضافة هذه الأنواع، فيمكنني استخدام نفس الطريقة لإضافة أنواع أخرى في المستقبل.