كيفية تعطيل البريد للمستخدمين المرحليين؟

متابعة للنقاش من وصف حالات المستخدمين المختلفة في Discourse (مدير / مشرف / موظف / مطور / آخر):

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

لقد قمت بتعطيل enabled staged users. جميع المستخدمين يُظهرون active=false و staged=true.

إذا رد شخص ما على منشور، فسيستلم بريدًا إلكترونيًا.

إذا أرسل شخص ما رسالة خاصة (PM) إليهم، فسيستلم بريدًا إلكترونيًا.

إذا قمت بتغيير حالة المستخدم من staged إلى false، فلن يتلقوا رسائل خاصة بعد الآن، لكنهم لا يزالون يتلقون إشعارات بشأن الردود على رسائلهم. يبدو هذا سلوكًا مقبولًا، وهو بالضبط ما طلبه شخص آخر اليوم، لكن هذه الكيان يعتقد أنه لا يملك إذنًا لإرسال رسائل بريد إلكتروني إلى مستخدمي Google Groups هؤلاء الذين لم ينشئوا حسابًا على المنتدى.

ربما يمكنني تعديل سكريبت الاستيراد و/أو إنشاء إضافة (plugin) تقوم بشيء مثل جعل جميع المستخدمين active=false يتم تعيينهم تلقائيًا إلى staged=false؟ ربما أقوم بتعيين تصنيف الأرشيف بحيث لا يمكن مراقبته (في إضافة، أعتقد)؟

للتوضيح، إليك كيف يُفترض التعامل مع المستخدمين المؤقتين (staged users):

إعجابَين (2)

مواصلة النقاش من كيفية تعطيل البريد الإلكتروني للمستخدمين المؤقتين؟:

حسنًا، لم أتمكن من العثور على طريقة لمنع المستخدمين المؤقتين من تلقي البريد الإلكتروني، لذا سأقوم بما يلي:

def no_mail_for_staged_users
  staged=User.where(staged: true)
  staged.all.each do |user|
    o=UserOption.find_by(user_id: user.id)
    o.email_level = 2
    o.email_messages_level = 2
    o.email_digests = false
    o.save
  end
end

وسأقوم بتعديل سكريبت mbox بشكل مشابه لتعطيل البريد الإلكتروني للمستخدمين المؤقتين الذين ينشئهم.

إذا كان لدى أي شخص أفكار أفضل، فسأكون مهتمًا بالاستماع إليها.

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

إعجابَين (2)

هذا سيكون جيدًا. سأتحقق يوم الاثنين وأرى إمكانية التراجع عن تغييرات خيار المستخدم.

إعجاب واحد (1)

هل يوجد مكون إضافي لهذا؟

هذا موضوع قديم جدًا والشيء الذي كنت أفعله عندما كتبت هذا لم يعد ممكنًا.

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

إعجاب واحد (1)