¿Qué es la Sanitización de Emails?
La sanitización de emails es un proceso automático que limpia, valida y normaliza las direcciones de correo electrónico antes de enviarlas a WoowUp.
Objetivo principal
Asegurar que sólo emails válidos y reales lleguen a la plataforma, mejorando la calidad de los datos para campañas de email marketing y reduciendo bounces.
¿Cómo funciona el EmailCleanser?
Este sistema limpia, valida y normaliza emails antes de enviarlos a WoowUp. Corrige typos de Gmail, rechaza emails con patrones sospechosos (secuencias, términos genéricos, etc.) y tagea automáticamente según el resultado (email_validated, email_cleaned, email_rejected).
❗Las validaciones estrictas (longitud, repeticiones, secuencias, términos genéricos) solo se aplican a emails de Gmail. Los emails de otros proveedores pasarán por la normalización básica (lowercase + trim)
¿Qué hace el sistema del EmailCleanser?
1: Validación de Input
El sistema verifica que el input sea válido (string o numérico).
2: Limpieza de Emails VTEX
Si el email proviene de la plataforma VTEX, se limpia automáticamente:
Tipo de Email VTEX | Ejemplo | Resultado |
Hash VTEX | Se rechaza (retorna | |
Email con sufijo VTEX | Se extrae:
|
3: Extracción de Partes
El sistema separa el email en usuario y dominio:
Email Original | Usuario | Dominio |
|
| |
|
|
|
Correcciones automáticas:
Se eliminarán múltiples
@en el usuarioSe corregirán automáticamente typos de Gmail
4: Detección de Dominios Mixtos
Si el dominio contiene Gmail + otro proveedor conocido, se rechazará:
Ejemplo
ENTRADA: [email protected]
SALIDA: false (dominio mixto detectado)
5: Corrección de Typos de Gmail
El sistema reconocerá y corregirá 21 variantes de Gmail:
Typo | Corrección |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Lista completa de typos reconocidos
Lista completa de typos reconocidos
gmail
gamil
gmial
gmai
gmal
gnail
gmaul
gmaol
gmaik
gmaio
gmeil
gmeel
gmel
gmaill
gmil
ggmail
gmmail
gmailm
gemail
gaiml
gail
gmailcom
gmailcomcom
6: Validaciones (Solo Gmail)
Para emails de Gmail, se aplicarán 4 validadores al usuario (lo que figura antes del @):
Validadores de Gmail
1. LengthValidator (6, 30)
Validará que el usuario tenga entre 6 y 30 caracteres.
Usuario | Longitud | Resultado |
| 4 | ❌ RECHAZADO (muy corto) |
| 7 | ✅ VÁLIDO |
| 39 | ❌ RECHAZADO (muy largo) |
2. RepeatedValidator (6, false)
Rechazará usuarios con 6 o más caracteres consecutivos repetidos.
Usuario | Resultado | Motivo |
| ❌ RECHAZADO | 6 'a' consecutivas |
| ❌ RECHAZADO | 6 '1' consecutivos |
| ✅ VÁLIDO | Solo 5 'a' consecutivas |
| ✅ VÁLIDO | Sin repeticiones excesivas |
3. SequenceValidator (7, 6, false)
Rechazará usuarios con secuencias largas:
Secuencias numéricas: 7+ dígitos consecutivos (1234567, 7654321)
Secuencias alfabéticas: 6+ letras consecutivas (abcdef, fedcba)
Secuencias de teclado: 6+ caracteres de una fila del teclado (qwerty, asdfgh)
Usuario | Resultado | Motivo |
| ❌ RECHAZADO | Secuencia numérica 1→2→3→4→5→6→7 |
| ❌ RECHAZADO | Secuencia alfabética a→b→c→d→e→f |
| ❌ RECHAZADO | Secuencia de teclado |
| ❌ RECHAZADO | Secuencia de teclado (fila central) |
| ✅ VÁLIDO | Solo 5 dígitos en secuencia |
| ✅ VÁLIDO | Solo 5 letras en secuencia |
Filas de teclado detectadas:
qwertyuiop(fila superior)asdfghjkl(fila central)zxcvbnm(fila inferior)
4. GenericEmailValidator
Rechazará usuarios que contengan términos genéricos comúnmente utilizados en emails falsos o de prueba.
Lista de términos genéricos (29):
Categoría | Términos |
Sin email |
|
No tiene |
|
Pruebas |
|
Genéricos |
|
Otros |
|
Lógica de detección inteligente:
El validador utiliza reglas inteligentes para evitar falsos positivos:
Caso | Ejemplo | Resultado | Motivo |
Término = usuario completo |
| ❌ RECHAZADO | Es exactamente el término |
Término + separador |
| ❌ RECHAZADO | Término aislado con separador |
Término + 1-4 dígitos |
| ❌ RECHAZADO | Patrón típico de email falso |
Usuario corto + término + dígitos |
| ❌ RECHAZADO | <10 chars con término |
Término embebido en palabra |
| ✅ VÁLIDO | "test" es parte de otra palabra |
Usuario largo con término |
| ✅ VÁLIDO | >=10 chars, término embebido |
Limpieza del Usuario (EmailFormatter)
Antes de validar, el usuario pasará por esta limpieza:
1. Detección de Caracteres Inválidos
Si el usuario contiene ñ, se retornará [email protected].
Ejemplo
ENTRADA: juanargañ[email protected]
SALIDA: [email protected]
2. Remoción de Tildes
Original | Limpio |
|
|
|
|
|
|
3. Limpieza de Símbolos
Operación | Original | Resultado |
Trim de símbolos |
|
|
Símbolos alrededor de @ |
|
|
Símbolos consecutivos |
|
|
4. Filtrado de Caracteres
Solo se permitirán: a-z, A-Z, 0-9, ., -, _, +
Ejemplo
ENTRADA: juan#[email protected]
SALIDA: [email protected]
Resultados Posibles
CASO 1: Email Gmail Válido (Sin Cambios)
CASO 1: Email Gmail Válido (Sin Cambios)
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_validated" }✔️ El email pasó todas las validaciones
✔️ Usuario tiene entre 6-30 caracteres
✔️ Sin repeticiones ni secuencias
✔️ Sin términos genéricos
✔️ Se agregó automáticamente el tag
email_validated✔️ Mailing permanece habilitado
CASO 2: Email Gmail con Typo Corregido
CASO 2: Email Gmail con Typo Corregido
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_validated,email_cleaned" }✔️ El typo
gmalfue corregido agmail✔️ El email pasó todas las validaciones
✔️ Se agregaron automáticamente los tags
email_validatedyemail_cleaned✔️ Mailing permanece habilitado
CASO 3: Email No-Gmail (Sin Validaciones Estrictas)
CASO 3: Email No-Gmail (Sin Validaciones Estrictas)
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]" }✔️ Solo se aplicó normalización (lowercase + trim)
✔️ Los validadores de Gmail NO se aplican a otros dominios
✔️ "test" sería rechazado en Gmail, pero es válido en Hotmail
⚠️ No se agregan tags de validación para dominios no-Gmail
CASO 4: Email Gmail Rechazado (Usuario Muy Corto)
CASO 4: Email Gmail Rechazado (Usuario Muy Corto)
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_rejected", "mailing_enabled": "disabled", "mailing_enabled_reason": "other" }❌ El usuario
testtiene solo 4 caracteres (mínimo: 6)❌ Además,
testes un término genérico❌ Se agregó automáticamente el tag
email_rejected❌ Mailing se deshabilitó automáticamente
❌ El usuario NO recibirá emails de campañas
CASO 5: Email Gmail Rechazado (Secuencia)
CASO 5: Email Gmail Rechazado (Secuencia)
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_rejected", "mailing_enabled": "disabled", "mailing_enabled_reason": "other" }❌ Contiene secuencia numérica
1234567(7 dígitos)❌ Se agregó automáticamente el tag
email_rejected❌ Mailing se deshabilitó automáticamente
CASO 6: Email Gmail Rechazado (Término Genérico)
CASO 6: Email Gmail Rechazado (Término Genérico)
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_rejected", "mailing_enabled": "disabled", "mailing_enabled_reason": "other" }❌
sincorreoes un término genérico❌ Se agregó automáticamente el tag
email_rejected❌ Mailing se deshabilitó automáticamente
CASO 7: Email con Carácter Inválido (ñ)
CASO 7: Email con Carácter Inválido (ñ)
Entrada:
{ "email": "juanargañ[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_rejected", "mailing_enabled": "disabled", "mailing_enabled_reason": "other" }❌ El carácter
ñno es válido en emails❌ Se retorna el email placeholder
[email protected]❌ Se agregó automáticamente el tag
email_rejected❌ Mailing se deshabilitó automáticamente
CASO 8: Email VTEX Hash
CASO 8: Email VTEX Hash
Entrada:
{ "email": "[email protected]" }Salida a WoowUp:
{ "email": "[email protected]", "tags": "email_rejected", "mailing_enabled": "disabled", "mailing_enabled_reason": "other" }❌ Es un hash de VTEX, no un email real
❌ Se rechaza y se mantiene el valor original para auditoría
❌ Se agregó automáticamente el tag
email_rejected❌ Mailing se deshabilitó automáticamente
Campos que se Modifican Automáticamente
Tag: email_validated
Se agregará cuando:
El email pasó todas las validaciones
El email NO fue modificado durante la limpieza
Se considera un email válido y real
👉 Este tag se agrega a emails Gmail que pasaron todas las validaciones sin necesidad de correcciones.
Ejemplos
Email sin cambios:
"[email protected]"→ Tag:email_validatedEmail con signo +:
"[email protected]"→ Tag:email_validated
Tag: email_cleaned
Se agregará cuando:
El email original fue modificado durante la limpieza
El email resultante es válido
👉 Este tag indica que el email fue corregido (typo de dominio, acentos removidos, símbolos limpiados, etc.).
Ejemplos
Typo corregido:
"[email protected]"→"[email protected]"→ Tag:email_cleanedAcentos removidos:
"marí[email protected]"→"[email protected]"→ Tag:email_cleanedMúltiples @:
"julieta@@gmail.com"→"[email protected]"→ Tag:email_cleaned
Tag: email_rejected
Se agrega cuando:
El email NO pasó alguna validación
El email se considera inválido o falso
Acciones automáticas adicionales:
Se deshabilita Mailing:
"mailing_enabled": "disabled"Se establece la razón:
"mailing_enabled_reason": "other"
Proveedores de Email Conocidos
El sistema reconoce los siguientes proveedores para detectar dominios mixtos:
Proveedor | Dominio |
Hotmail |
|
Microsoft |
|
Yahoo |
|
AOL |
|
Apple |
|
Otros |
|
Antes vs Después de la sanitización
Escenario | Antes (Sin Sanitización) | Después (Con Sanitización) |
Email Gmail válido: | Se envía tal cual | Se envía tal cual + tag |
Email con typo: | Se envía tal cual | Se corrige a |
Email muy corto: | Se envía tal cual | Se rechaza + tag |
Email con secuencia: | Se envía tal cual | Se rechaza + tag |
Email genérico: | Se envía tal cual | Se rechaza + tag |
Email con ñ: | Se envía tal cual | Se reemplaza por |
Hash VTEX: | Se envía tal cual | Se rechaza + tag |
Email no-Gmail: | Se envía tal cual | Se normaliza a lowercase (sin validaciones estrictas) |
