Mi sitio de Discourse es el cliente SSO de mi sitio de WordPress. Se han creado usuarios de Discourse para los miembros del sitio de WordPress a medida que han iniciado sesión en WordPress. Casi ningún usuario ha visitado realmente el foro. Tengo configurados correos electrónicos de resumen para que se envíen todos los días y apliqué la configuración de forma retroactiva a todos los usuarios existentes de Discourse. El problema que tengo es que parece que estos resúmenes solo se envían a las cuentas de Discourse que han visitado el foro en algún momento. Quiero que los usuarios comiencen a recibir los correos electrónicos de resumen tan pronto como exista la cuenta dentro de Discourse. ¿Es el comportamiento que estoy observando con los correos electrónicos el comportamiento predeterminado y, de ser así, cómo puedo superarlo?
¿Sabes si los usuarios deben responder a un correo electrónico de activación de Discourse antes de su primer inicio de sesión desde WordPress hacia Discourse? Este será el caso si no estás utilizando el método de registro predeterminado de WordPress en tu sitio de WordPress. Esto significa que los usuarios no se marcarán como activos en Discourse hasta que respondan al correo electrónico. El correo electrónico de resumen solo se envía a los usuarios que han sido marcados como activos en Discourse.
Hay bastante personalización en nuestro registro de WordPress, pero todos los usuarios que reviso en Discourse aparecen como activos. Sin embargo, los campos de «último correo enviado» y «última visita» están vacíos.
Me pregunto si podría haber un error. Todas mis configuraciones parecen estar en su lugar. Lo único en lo que puedo pensar es que configuré “suprimir correo electrónico de resumen después de X días” en 3650 y, como mis usuarios nunca han sido vistos, sus correos electrónicos están suprimidos. También tuve los correos electrónicos suprimidos para todos los usuarios durante un tiempo, pero actualmente eso no está configurado.
Creo que eso es. El correo electrónico de resumen te muestra el resumen de las cosas desde tu última visita. Si nunca has visitado, no hay “desde tu última visita”.
Parece que esa es la causa del problema. El código verifica lo siguiente:
.where("COALESCE(last_seen_at, '2010-01-01') >= CURRENT_TIMESTAMP - ('1 DAY'::INTERVAL * #{SiteSetting.suppress_digest_email_after_days})")
Dado que last_seen_at devolverá nil para el nuevo usuario, el código verificará si ‘2010-01-01’ es anterior a 3650 días antes de enviar el correo electrónico. Aumentar el valor de esa configuración debería resolver el problema. El riesgo de establecer ese valor en un número grande de días es que podrías estar enviando el correo electrónico de resumen a usuarios que no tienen interés en el sitio.
Ayudó un poco, pero no resolvió el problema. Para probar, configuré la frecuencia del correo electrónico de resumen en 30 minutos y el máximo de notificaciones por día en 1. También establecí la configuración de «última vez visto» en 365000. Básicamente, los usuarios añadidos a Discourse en los últimos 17 días recibieron correos electrónicos, y algunos usuarios que han sido vistos recientemente pero que fueron creados con anterioridad también los recibieron. Puedo confirmar que todos los usuarios están activados, o al menos eso puedo verificar a partir de una selección aleatoria de usuarios que no recibieron correos. No estoy seguro de cómo solucionar esto. ¿Hay algo que pueda restablecer manualmente?
He investigado un poco más y parece que las preferencias de los correos electrónicos de resumen en la mayoría de las cuentas no se establecen cuando cambio la frecuencia. Así que, si cambio la frecuencia de los resúmenes de 30 minutos a 1 hora y confirmo para aplicar el cambio a todas las cuentas, la configuración no parece surtir efecto. Lo confirmé haciéndome pasar por cuentas que no reciben los correos electrónicos. En sus preferencias, la opción de resúmenes aparecerá desactivada.