كيفية تعيين تفضيلات إشعارات البريد الإلكتروني لجميع المستخدمين إلى لا شيء؟

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

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

لقد قمت بالفعل بتعطيل ملخص البريد الإلكتروني، وضبط الإعداد الذي يجعل جميع الفئات افتراضياً على حالة “الصمت”.

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

ما الذي يمكنني فعله للتأكد من عدم إرسال أي رسائل بريد إلكتروني؟ هل هذا كافٍ؟

شكراً لمساعدتي في فهم هذا!

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

شكرًا لك على التوجيه الذي أشرت إليه، حيث أحتاج إلى تعطيلهم. لقد وجدت سكريبت كتبته في موضوع آخر، هل سيقوم هذا الأمر بذلك؟

cd /var/discourse
./launcher enter app
rails c
User.where(“last_seen_at < ‘2016-01-01’”).update_all(active: false)
exit
exit

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

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

كيف يمكنني إعادة تفعيل الجميع بمجرد اكتمال الانتقال؟
هل استبدال active:false بـ active:true؟

سيحتاجون إلى استخدام خيار “نسيت كلمة المرور” لتسجيل الدخول.

حسنًا، يجب عليهم فعل ذلك على أي حال :slight_smile:

شكرًا لك على مساعدتك وردودك السريعة!

تحديث: شكرًا جزيلاً! تم تشغيله للتو،

أولاً، تحققت في لوحة تحكم المسؤول عن المستخدمين المتأثرين، ولم أكن أحتاج سوى نفسي نشطًا في الوقت الحالي. لذا كانت آخر مرة نشط فيها منذ حوالي 50 يومًا (وكانت لي نشاطات خلال الأيام الأخيرة)، لذا كانت نقطة القطع هي 50 يومًا.

بما أنني كسول ولم أرد إجراء حسابات كثيرة، قمت بتعديل التاريخ إلى 2020-01-01 وشغلت السكربت،

وها هو، تم تحويل 25400 مستخدم من نشط إلى غير نشط.

أيضًا: يستثني السكربت discobot ومستخدم النظام، ويبقيهم نشطين. (وهذا منطقي وأنا سعيد بأنه مبرمج بهذه الطريقة :))