Verificación de correo electrónico de usuario

Proporciona verificación de correo electrónico para cuentas de usuario con intervalos de tiempo configurables, bloqueo automático de cuentas no verificadas, notificaciones de recordatorio y períodos de verificación extendidos opcionales.

user_email_verification
543 sites
20
drupal.org

Instalar

Drupal 11, 10, 9, 8 v8.x-1.3
composer require 'drupal/user_email_verification:8.x-1.3'

Overview

El módulo User email verification proporciona una solución integral para verificar direcciones de correo electrónico de usuarios en Drupal. A diferencia de la verificación de correo electrónico del núcleo de Drupal que impide que los usuarios inicien sesión hasta que se complete la verificación, este módulo permite a los usuarios iniciar sesión inmediatamente después del registro mientras se aplica la verificación de correo electrónico dentro de un período de tiempo configurable.

El módulo crea un registro de verificación para cada usuario y rastrea su estado de verificación. Si un usuario no verifica su correo electrónico dentro del intervalo de tiempo especificado, su cuenta se bloquea automáticamente. Los administradores del sitio pueden configurar cuántos correos de recordatorio enviar antes del bloqueo, y opcionalmente habilitar un período de verificación extendido que da a los usuarios bloqueados tiempo adicional para verificar su correo y reactivar su cuenta.

El módulo se integra con el sistema de Token de Drupal para proporcionar enlaces de verificación en plantillas de correo electrónico, soporta Views para mostrar el estado de verificación, proporciona un Block de notificación para usuarios no verificados, y ofrece integración completa con los módulos Rules y ECA para automatización de flujos de trabajo personalizados.

Features

  • Permite a los usuarios ingresar contraseña durante el registro e iniciar sesión inmediatamente después del registro
  • Seguimiento automático de verificación de correo electrónico con intervalos de tiempo configurables (predeterminado 7 días)
  • Bloqueo automático de cuentas de usuario que no verifican dentro del límite de tiempo
  • Correos de recordatorio configurables (hasta 3) enviados a intervalos iguales durante el período de verificación
  • Opción de período de verificación extendido que permite a usuarios bloqueados tiempo adicional para verificar y reactivar su cuenta
  • Exención basada en roles de los requisitos de verificación de correo electrónico
  • Campos adicionales en el perfil de usuario que muestran el estado y fecha de verificación
  • Block de notificación para recordar a usuarios conectados que verifiquen su correo electrónico
  • Integración con Views para filtrar y mostrar el estado de verificación de usuarios
  • Tokens personalizados [user:verify-email] y [user:verify-email-extended] para plantillas de correo electrónico
  • Integración con el módulo Rules para condiciones y acciones personalizadas
  • Integración con el módulo ECA para flujos de trabajo basados en eventos
  • Contexto de Cache para almacenamiento en caché adecuado de contenido dependiente de verificación
  • Asuntos y cuerpos de correo traducibles a través del módulo Configuration Translation
  • Procesamiento basado en Queue para bloqueo, recordatorios y eliminación de cuentas vía Cron
  • Eventos para extender funcionalidad: bloquear cuenta, eliminar cuenta, crear verificación, verificar correo
  • Opción de auto-verificación para cuentas creadas por administradores
  • Auto-verificación cuando administradores activan manualmente cuentas bloqueadas
  • URLs de redirección configurables después de verificación exitosa

Use Cases

Registro de usuarios en comercio electrónico

Permita a los clientes registrarse y navegar productos inmediatamente mientras requiere verificación de correo antes de realizar pedidos. Configure una ventana de verificación de 48 horas con 2 recordatorios. Use el Block de notificación en la región del carrito para recordar a usuarios no verificados que verifiquen antes del checkout.

Foro comunitario con prevención de spam

Prevenga cuentas de spam requiriendo verificación de correo electrónico antes de que los usuarios puedan publicar contenido. Establezca un período de verificación corto de 24 horas sin recordatorios. Las cuentas no verificadas se bloquean automáticamente, manteniendo la comunidad libre de registros falsos.

Intranet empresarial con recuperación extendida

Para aplicaciones internas donde la recuperación de cuentas es importante, habilite el período de verificación extendida. Los usuarios que pierdan la ventana inicial de 7 días todavía tienen 14 días adicionales para verificar y recuperar sus cuentas. Los administradores son notificados cuando usuarios bloqueados completan la verificación.

Sitio multi-rol con verificación selectiva

Use la exención basada en roles para omitir la verificación para roles de usuario de confianza como 'miembro verificado' o 'suscriptor premium' mientras la requiere para registros estándar.

Flujo de trabajo automatizado con Rules/ECA

Cree flujos de trabajo personalizados usando la integración con Rules o ECA. Por ejemplo, asigne automáticamente un rol de 'usuario verificado' cuando el correo sea verificado, o envíe un mensaje de bienvenida especial después de una verificación exitosa.

Tips

  • Use el módulo Token para obtener un explorador de árbol de tokens disponibles al configurar plantillas de correo electrónico
  • Coloque el Block de notificación en una región altamente visible como el encabezado o área destacada para asegurar que los usuarios lo vean
  • Considere la experiencia del usuario al establecer intervalos de tiempo - muy corto puede frustrar a usuarios legítimos, muy largo puede permitir cuentas de spam
  • Use la integración con Views para crear reportes administrativos de usuarios no verificados y su estado de verificación
  • Para sitios con múltiples idiomas, use Configuration Translation para traducir asuntos y textos de cuerpo de correo
  • El módulo respeta la configuración 'Al cancelar una cuenta de usuario' para el comportamiento de eliminación de cuentas
  • Habilite el período de verificación extendida para sitios donde la recuperación de usuarios es más importante que el cumplimiento estricto
  • Combine con Rules o ECA para crear flujos de notificación personalizados o integración con sistemas CRM

Technical Details

Admin Pages 2
Configuración de verificación de correo electrónico de usuario /admin/config/people/user-email-verification

Configure todos los aspectos del comportamiento de verificación de correo electrónico incluyendo intervalos de tiempo, recordatorios, período de verificación extendido y plantillas de correo electrónico.

Solicitar nueva verificación de correo electrónico /user/user-email-verification

Formulario público donde los usuarios pueden solicitar un nuevo correo de verificación ingresando su nombre de usuario o dirección de correo electrónico.

Permisos 1
Gestionar configuración de verificación de correo electrónico de usuario

Permite acceso a la página de configuración de verificación de correo electrónico. Este es un permiso restringido destinado a administradores del sitio.

Hooks 8
hook_user_insert

Crea un registro de verificación cuando se crea una nueva cuenta de usuario.

hook_user_delete

Elimina el registro de verificación cuando se elimina una cuenta de usuario.

hook_cron

Maneja tareas periódicas incluyendo envío de recordatorios, bloqueo de cuentas y eliminación de cuentas.

hook_mail

Prepara mensajes de correo electrónico para correos de verificación y recordatorio.

hook_entity_extra_field_info

Proporciona campos adicionales para la visualización de la entidad de usuario mostrando estado y fecha de verificación.

hook_user_presave

Auto-verifica al usuario cuando un administrador activa una cuenta bloqueada (si está habilitado en configuración).

hook_condition_info_alter

Elimina condiciones de Rules si el módulo Rules no está habilitado.

hook_user_view

Agrega estado y fecha de verificación a la visualización de la entidad de usuario.

Troubleshooting 7
Los usuarios no reciben correos de verificación

Asegúrese de que el sistema de correo de su sitio esté configurado correctamente. Verifique que el token [user:verify-email] esté incluido en la plantilla de correo de Bienvenida en /admin/config/people/accounts. Verifique que la dirección de correo del usuario sea válida y no esté bloqueada.

Las cuentas se bloquean inmediatamente

Verifique la configuración de 'Intervalo de tiempo de verificación' - asegúrese de que esté establecido en un valor razonable en segundos (604800 = 7 días). Si está muy bajo, los usuarios no tendrán tiempo suficiente para verificar.

Los enlaces de verificación expiran muy rápido

La validez del enlace de verificación está vinculada a la configuración de 'Intervalo de tiempo de verificación'. Aumente este valor si los enlaces expiran antes de que los usuarios puedan hacer clic en ellos.

Las cuentas creadas por administrador no se auto-verifican

Verifique la configuración 'Deshabilitar auto-verificación al crear cuenta'. Si está habilitada, las cuentas creadas por administrador también requerirán verificación de correo electrónico.

Los usuarios bloqueados no pueden recuperar sus cuentas

Habilite la característica 'Período de verificación extendido' para dar a los usuarios bloqueados tiempo adicional para verificar su correo y reactivar sus cuentas.

Las condiciones de Rules/ECA no aparecen

Las condiciones de Rules requieren que el módulo Rules esté habilitado. Si Rules no está instalado, estas condiciones se eliminan automáticamente. De manera similar, las condiciones de ECA requieren el módulo ECA.

Los usuarios existentes aparecen como no verificados después de la instalación del módulo

Cuando el módulo se instala, todos los usuarios existentes se marcan automáticamente como verificados con la marca de tiempo actual. Si esto no ocurrió, verifique la tabla de base de datos user_email_verification.

Security Notes 5
  • Los enlaces de verificación usan autenticación basada en HMAC con la sal hash del sitio para seguridad
  • Los enlaces incluyen una marca de tiempo para aplicar la expiración basada en el intervalo de tiempo configurado
  • El permiso 'manage user email verification settings' está marcado como 'restrict access' - solo otorgue a administradores de confianza
  • Considere las implicaciones de la opción 'Eliminar cuenta de usuario' - las cuentas eliminadas y su contenido pueden perderse permanentemente dependiendo del método de cancelación
  • El módulo no afecta a cuentas con el permiso 'administer users' por defecto