Ir al contenido principal

EmailCleanser - Sanitización de Emails

Conoce cómo ejecutamos la limpieza de los correos de tu base

Actualizado hoy

¿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 false)

Email con sufijo VTEX

3: Extracción de Partes

El sistema separa el email en usuario y dominio:

Email Original

Usuario

Dominio

juan.perez

@gmail.com

maria@@hotmail.com

maria

@hotmail.com

Correcciones automáticas:

  • Se eliminarán múltiples @ en el usuario

  • Se 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

@gmal.com

@gmail.com

@gmial.com

@gmail.com

@gamil.com

@gmail.com

@gnail.com

@gmail.com

@gmaill.com

@gmail.com

@gmeil.com

@gmail.com

@ggmail.com

@gmail.com

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

test

4

❌ RECHAZADO (muy corto)

julieta

7

✅ VÁLIDO

juan.perez.gonzalez.martinez.rodriguez

39

❌ RECHAZADO (muy largo)

2. RepeatedValidator (6, false)

Rechazará usuarios con 6 o más caracteres consecutivos repetidos.

Usuario

Resultado

Motivo

aaaaaa

❌ RECHAZADO

6 'a' consecutivas

juan111111

❌ RECHAZADO

6 '1' consecutivos

aaaaa

✅ VÁLIDO

Solo 5 'a' consecutivas

juana.perez

✅ 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

juan1234567

❌ RECHAZADO

Secuencia numérica 1→2→3→4→5→6→7

abcdef.perez

❌ RECHAZADO

Secuencia alfabética a→b→c→d→e→f

qwerty.user

❌ RECHAZADO

Secuencia de teclado

asdfgh

❌ RECHAZADO

Secuencia de teclado (fila central)

juan12345

✅ VÁLIDO

Solo 5 dígitos en secuencia

abcde.perez

✅ 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

sincorreo, nocorreo, correo, noemail, nomail, notmail, sinmail

No tiene

notiene, notienemail, nocontacto, noposee, notengo, nocuenta

Pruebas

test, prueba, example, ejemplo

Genéricos

user, usuario, nombre, apellido, email

Otros

unavailable, noautoriz, facturacion, factura, ninguno, nosustent, noregistra, nomaneja, nopresenta, noreply

Lógica de detección inteligente:

El validador utiliza reglas inteligentes para evitar falsos positivos:

Caso

Ejemplo

Resultado

Motivo

Término = usuario completo

test

❌ RECHAZADO

Es exactamente el término

Término + separador

test.maria

❌ RECHAZADO

Término aislado con separador

Término + 1-4 dígitos

test123

❌ RECHAZADO

Patrón típico de email falso

Usuario corto + término + dígitos

test12345

❌ RECHAZADO

<10 chars con término

Término embebido en palabra

testamento

✅ VÁLIDO

"test" es parte de otra palabra

Usuario largo con término

protestante.maria

✅ 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

juán

juan

maría

maria

josé

jose

3. Limpieza de Símbolos

Operación

Original

Resultado

Trim de símbolos

..juan..

juan

Símbolos alrededor de @

juan.@gmail

juan@gmail

Símbolos consecutivos

juan..perez

juan.perez

4. Filtrado de Caracteres

Solo se permitirán: a-z, A-Z, 0-9, ., -, _, +

Ejemplo


Resultados Posibles

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

Entrada:

{   "email": "[email protected]" }

Salida a WoowUp:

{   "email": "[email protected]",   "tags": "email_validated,email_cleaned" }
  • ✔️ El typo gmal fue corregido a gmail

  • ✔️ El email pasó todas las validaciones

  • ✔️ Se agregaron automáticamente los tags email_validated y email_cleaned

  • ✔️ Mailing permanece habilitado

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)

Entrada:

{   "email": "[email protected]" }

Salida a WoowUp:

{   "email": "[email protected]",   "tags": "email_rejected",   "mailing_enabled": "disabled",   "mailing_enabled_reason": "other" }
  • ❌ El usuario test tiene solo 4 caracteres (mínimo: 6)

  • ❌ Además, test es 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)

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)

Entrada:

{   "email": "[email protected]" }

Salida a WoowUp:

{   "email": "[email protected]",   "tags": "email_rejected",   "mailing_enabled": "disabled",   "mailing_enabled_reason": "other" }
  • sincorreo es 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 (ñ)

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

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

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

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:

  1. Se deshabilita Mailing: "mailing_enabled": "disabled"

  2. 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

hotmail, hot

Microsoft

outlook, live, msn

Yahoo

yahoo

AOL

aol

Apple

icloud, mac

Otros

protonmail, proton, zoho


Antes vs Después de la sanitización

Escenario

Antes (Sin Sanitización)

Después (Con Sanitización)

Email Gmail válido: "[email protected]"

Se envía tal cual

Se envía tal cual + tag email_validated

Email con typo: "[email protected]"

Se envía tal cual

Se corrige a "[email protected]" + tags email_validated,email_cleaned

Email muy corto: "[email protected]"

Se envía tal cual

Se rechaza + tag email_rejected + Mailing deshabilitado

Email con secuencia: "[email protected]"

Se envía tal cual

Se rechaza + tag email_rejected + Mailing deshabilitado

Email genérico: "[email protected]"

Se envía tal cual

Se rechaza + tag email_rejected + Mailing deshabilitado

Email con ñ: "juanargañ[email protected]"

Se envía tal cual

Se reemplaza por "[email protected]" + tag email_rejected

Hash VTEX: "[email protected]"

Se envía tal cual

Se rechaza + tag email_rejected + Mailing deshabilitado

Email no-Gmail: "[email protected]"

Se envía tal cual

Se normaliza a lowercase (sin validaciones estrictas)

¿Ha quedado contestada tu pregunta?