Advanced Email Validation

Valida direcciones de correo electrónico utilizando registros MX y listas de dominios de correo gratuitos, desechables o prohibidos con reglas configurables.

advanced_email_validation
780 sites
28
drupal.org

Instalar

Drupal 11, 10 v2.0.2
composer require 'drupal/advanced_email_validation:^2.0'
Drupal 9 v1.2.0
composer require 'drupal/advanced_email_validation:^1.2'

Overview

Advanced Email Validation proporciona una validación robusta de direcciones de correo electrónico más allá de la verificación básica de formato de Drupal. Aprovecha la biblioteca de código abierto stymiee/email-validator para aplicar reglas de validación configurables que pueden detectar y rechazar correos electrónicos de proveedores gratuitos (como Gmail), servicios de correo desechable (como Mailinator), dominios sin registros MX válidos o dominios prohibidos personalizados.

El módulo valida automáticamente las direcciones de correo electrónico de los usuarios durante el registro y cuando los usuarios cambian su correo. También proporciona un service para que los desarrolladores lo usen programáticamente, e incluye un handler de Webform para aplicar estas reglas de validación a campos de correo electrónico en webforms con anulaciones de configuración por formulario.

Todos los mensajes de error son personalizables y pueden traducirse usando el módulo Configuration Translation de Drupal, haciéndolo adecuado para sitios multilingües.

Features

  • Valida direcciones de correo electrónico de cuentas de usuario durante el registro y cambios de correo con disparadores configurables
  • Validación mediante búsqueda de registros MX para asegurar que los dominios de correo realmente existen y pueden recibir correo
  • Bloquea proveedores de correo desechable/temporal (mailinator.com, etc.) usando listas obtenidas dinámicamente
  • Bloquea proveedores de correo público gratuito (gmail.com, outlook.com, etc.) cuando se requieren correos corporativos
  • Lista personalizada de dominios prohibidos con soporte de comodines (ej., *.example.org)
  • Capacidad de agregar dominios adicionales a las listas de proveedores desechables y gratuitos o usar solo listas locales
  • Mensajes de error totalmente personalizables y traducibles para cada tipo de validación
  • Integración con Webform mediante un handler de validación que puede anular la configuración global por formulario
  • Expone un service para que los desarrolladores validen correos programáticamente con anulaciones de configuración

Use Cases

Prevención de registros de spam

Habilita la validación de búsqueda MX para rechazar correos con dominios inexistentes. Esto bloquea muchos bots de spam que usan direcciones de correo generadas aleatoriamente con dominios falsos. Combinado con el bloqueo de correos desechables, esto reduce significativamente los registros de cuentas falsas.

Sitios corporativos/empresariales que requieren correos de trabajo

Habilita la regla de 'proveedor de correo gratuito' para rechazar registros de Gmail, Yahoo, Outlook y otros proveedores gratuitos. Esto asegura que los usuarios se registren con sus direcciones de correo corporativas/organizacionales, lo cual es útil para sitios B2B, intranets o comunidades profesionales.

Bloqueo de correos temporales/desechables

Habilita la validación de correo desechable para bloquear servicios como Mailinator, Guerrilla Mail y 10MinuteMail. Estos servicios se usan comúnmente para crear cuentas desechables, eludir la verificación de correo o abusar de ofertas de prueba.

Bloqueo de dominios personalizados

Usa la función de dominios prohibidos con soporte de comodines para bloquear competidores específicos, actores maliciosos conocidos o proveedores de correo no deseados. Por ejemplo, bloquea *.competitor.com para prevenir que empleados de la competencia se registren, o bloquea dominios específicos que han sido fuentes de abuso.

Formularios de contacto de Webform con validación de correo

Agrega el Advanced Email Webform Validator Handler a formularios de contacto o formularios de generación de leads. Configura anulaciones por formulario para aplicar diferentes reglas - por ejemplo, permitir correos gratuitos en formularios de contacto generales pero requerir correos corporativos en formularios de consultas empresariales.

Listas de dominios solo locales para cumplimiento normativo

Usa la opción 'solo lista local' para mantener control completo sobre qué dominios se bloquean. Esto es útil cuando los requisitos de cumplimiento normativo exigen que las decisiones de bloqueo se basen en una lista interna auditable en lugar de datos externos obtenidos dinámicamente.

Tips

  • Combina múltiples reglas de validación para una protección más fuerte - por ejemplo, habilita tanto la búsqueda MX como el bloqueo de correos desechables
  • Usa comodines en la lista de dominios prohibidos (*.example.org) para bloquear todos los subdominios de una vez
  • Los mensajes de error soportan localización completa - tradúcelos usando Configuration Translation para sitios multilingües
  • Prueba tu configuración con direcciones de correo desechables o gratuitas conocidas antes de ir a producción
  • Para webforms, puedes tener diferentes reglas de validación por formulario habilitando 'Anular valores predeterminados del sitio' en la configuración del handler

Technical Details

Admin Pages 1
Configuración de Advanced email validation /admin/config/people/advanced-email-validation

Configura las reglas usadas para validar direcciones de correo de usuarios, personaliza mensajes de error y gestiona listas de dominios para bloquear proveedores de correo desechables, gratuitos o prohibidos personalizados.

Permisos 1
Administrar advanced email validation

Permite a los usuarios cambiar la configuración del módulo Advanced email validation, incluyendo reglas de validación, mensajes de error y listas de dominios.

Hooks 1
hook_entity_base_field_info_alter

Usado internamente para agregar constraints AEVNewEmail y AEVChangedEmail al campo mail de la entidad User basándose en la configuración 'validate_account_on'.

Troubleshooting 4
La validación de búsqueda MX es muy lenta

Las búsquedas MX requieren consultas DNS que pueden agregar latencia a los envíos de formularios. Si esto es problemático, considera deshabilitar la búsqueda MX y confiar en otras reglas de validación, o asegúrate de que tu servidor tenga configurado correctamente el caché DNS.

Correos legítimos están siendo rechazados como desechables o gratuitos

Las listas de dominios son mantenidas por la biblioteca stymiee/email-validator y obtenidas de internet. Si necesitas permitir dominios específicos, puedes deshabilitar la regla problemática o usar la opción 'solo lista local' con tu propia lista curada.

La validación no funciona después de cambiar la configuración

El módulo limpia las cachés de definiciones de entidad cuando se guarda la configuración. Si la validación aún no funciona como se espera, intenta limpiar todas las cachés con 'drush cr' o a través de la página de configuración de Rendimiento.

El handler de Webform no muestra campos de correo

El handler solo muestra campos de tipo 'email' o 'webform_email_confirm'. Asegúrate de que tu formulario tenga al menos un campo de correo antes de agregar el handler.

Security Notes 4
  • Este módulo ayuda a prevenir abusos pero debe usarse como parte de una estrategia de defensa en profundidad, no como la única medida de prevención de spam
  • La validación de búsqueda MX requiere acceso a red y potencialmente podría usarse para ataques de temporización o divulgación de información sobre infraestructura interna
  • Las listas de dominios son obtenidas de fuentes externas por la biblioteca subyacente - considera usar el modo 'solo lista local' si necesitas controlar exactamente qué dominios se bloquean
  • El módulo no valida que una dirección de correo realmente exista o que el usuario la controle - solo valida el dominio