كيفية تعطيل الوصول دون إرسال بريد إلكتروني للمستخدم

مرحباً.

منتدىي يعمل على الإصدار 2.7.0.beta6.

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

لقد جربت أولاً إلغاء تنشيط حساب تجريبي قبل تعليقه، ولكن لا يزال يتم إرسال رسالة بريد إلكتروني.

ملاحظة: عندما أقوم بتعليق مستخدم، لا أقوم بتعبئة حقل “رسالة البريد الإلكتروني” بأي شيء.

هل توجد طريقة يمكنني من خلالها تعطيل الوصول إلى Discourse دون إرسال بريد إلكتروني للمستخدم؟

  • راين

إليك كود سيقوم بذلك من خلال وحدة تحكم Rails:

./launcher enter app 
rails c
username = "user-to-suspend-username"
admin_username = "admin-username"
reason = "suspend reason"
till = Time.at(33174889200)
u = User.find_by_username(username)
puts "couldn't find user named #{username}" unless u
if u and !u.suspended?
  u.suspended_till = till
  u.suspended_at = DateTime.now

  User.transaction do
    u.save!
    admin = User.find_by_username(admin_username)
    StaffActionLogger.new(admin).log_user_suspend(
      u,
      reason
    )
  end
  u.logged_out
end

إذا لم يعد الشخص موظفًا، فكيف لا يزال بإمكانه الوصول إلى حسابه للبريد الإلكتروني المؤسسي؟ :thinking:

يمكنك دائمًا تعديل المستخدم أولاً، وتغيير بريده الإلكتروني إلى no@email.some.random.nonexistent.domain

ثم قم بتعليقه.

يستخدم عناوين بريد إلكتروني شخصية.

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

ألم يكن إرسال البريد الإلكتروني اختياريًا من قبل؟

كل الوثائق توحي بذلك! لكن، يتم إرسال بريد إلكتروني حتى لو تركت قسم الرسالة فارغًا.

سيتم إرسال بريد إلكتروني يحتوي على هذه الرسالة عند وجودها

يمكنك اختيارًا تقديم معلومات إضافية حول التعليق، وسيتم إرسالها بالبريد الإلكتروني إلى المستخدم

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

لقد بدأت طلب سحب (pull request) لجعل السلوك متوافقًا مع التوثيق:

تم دمج هذا الإصلاح بواسطة @eviltrout :tada: