¿Cómo establecer las preferencias de notificación por correo electrónico de todos los usuarios en ninguno?

Mi caso de uso: estoy importando mi foro actual de forma incremental. En el primer paso, tendremos que hacer mucha reorganización de categorías, otorgar insignias a los usuarios, asignar usuarios a grupos, mover publicaciones, crear nuevos temas de ayuda, etc. Mientras tanto, se invitará a algunos usuarios seleccionados para ayudar con las pruebas, entre otras cosas.

Durante este proceso, quiero asegurarme de que ningún usuario actual reciba correos electrónicos de notificación de un foro del que no sabe que existe. La opción de “deshabilitar todos los correos electrónicos” no funcionará, ya que los usuarios de prueba necesitarán poder solicitar una nueva contraseña para iniciar sesión.

Ya he desactivado el resumen de correos electrónicos y configurado la opción que establece todas las categorías como “silenciadas” por defecto.

Quiero asegurarme de que no se envíen correos electrónicos ni notificaciones de ningún tipo, excepto cuando los usuarios soliciten específicamente una nueva contraseña.

¿Qué puedo hacer para garantizar que no se envíen correos electrónicos? ¿Es suficiente con esto?

¡Gracias por ayudarme a entender esto!

Quieres desactivar a todos los usuarios. Pueden reactivar su cuenta restableciendo su contraseña. Deberías poder encontrar un ejemplo de comando de Rails para hacerlo buscando aquí o revisando algunos scripts de importación.

Gracias por la indicación de que debo desactivarlos. Encontré un script que escribiste en otro tema; ¿esto servirá, verdad?

> cd /var/discourse
> ./launcher enter app
> rails c
> User.where("last_seen_at < '2016-01-01'").update_all(active: false)
> exit
> exit

¡Eso parece correcto! Podrías querer deshabilitar a todos los usuarios y permitir que tu pequeño equipo restablezca sus contraseñas para asegurarte de no enviar correos a personas equivocadas y para ver cómo funciona ese proceso.

Sí, lo haré. Básicamente, todos necesitan restablecer su contraseña de todos modos, ya que no importé las contraseñas.

¿Cómo reactivaría a todos una vez que la migración esté completa?
¿Reemplazo active:false con active:true?

Necesitarán usar la opción de ‘olvidé mi contraseña’ para iniciar sesión.

Bueno, de todos modos tienen que hacerlo :slight_smile:

¡Gracias por tu ayuda y por tus respuestas rápidas!

Actualización: ¡muchas gracias! Acabo de ejecutarlo.

Primero revisé en el panel de administración de administrador qué usuarios se verían afectados; por ahora solo necesitaba que yo estuviera activo. Mi última actividad fue hace unos 50 días (aunque había estado activo en los últimos días), así que 50 días fue el punto de corte.

Como soy perezoso y no quería hacer muchos cálculos, ajusté la fecha al 01-01-2020 y ejecuté el script,

y ¡listo!, 25.400 usuarios pasaron de activos a inactivos.

Además: se excluye a discobot y al usuario del sistema, que permanecen activos (lo cual tiene sentido y me alegra que esté programado así :slight_smile: ).