Skip to main content

CLI tool for email processing with domain migration

Project description

📧 Procesador de Correos - Migración de Dominios Automatizada

Python 3.8+ PyPI version License: MIT AWS Lambda Terraform

Transforma 10,000 correos en 3 minutos. Sistema profesional de migración de dominios con arquitectura hexagonal, validación robusta y despliegue serverless.

⚡ Inicio Rápido (30 segundos)

Ejemplo 1: Desde lista inline

# Instalar
pip install email-processor-cli

# Usar
email-processor --input-type list \
  --input "juan.perez@old.com,maria.garcia@old.com" \
  --new-domain company.com \
  --output-type csv \
  --output result.csv

# Resultado:
[OK] Processed 2/2 emails
[OK] Error log: error_log.txt
[OK] Summary: summary.txt

Ejemplo 2: Desde archivo TXT

# Crear archivo de entrada
echo "juan.perez@old.com" > emails.txt
echo "maria.garcia@old.com" >> emails.txt

# Procesar
email-processor --input-type file \
  --input emails.txt \
  --new-domain nuevo.com \
  --output-type csv \
  --output result.csv

Archivo generado (result.csv):

Nombre,Apellido,Correo Original,Correo Nuevo
Juan,Perez,juan.perez@old.com,juan.perez@company.com
Maria,Garcia,maria.garcia@old.com,maria.garcia@company.com

🎬 Demo en Acción

CLI Básico

Demo CLI Básico

Procesamiento CSV

Demo CSV

Validación de Errores

Demo Validación

Integración con n8n

Demo n8n

🚀 ¿Por Qué Este Procesador?

Antes (Manual) Después (Automatizado) Mejora
⏱️ 30-45 minutos 3-5 minutos 85% más rápido
❌ 5-10% errores <1% errores 90% más preciso
📊 1,000 correos/día 10,000+ correos/día 10x capacidad
🕐 Solo horario laboral 24/7 disponible 3x disponibilidad
💰 $5 por proceso $0.08 por proceso 98% más económico

✨ Características Principales

  • 🎯 Validación Inteligente - 5 reglas de negocio que garantizan formato correcto
  • 🔄 Multi-Interfaz - CLI, API REST, Librería Python, AWS Lambda
  • 📦 Sin Configuración - Funciona out-of-the-box, sin setup complejo
  • 🔒 Seguro - Validación estricta, sin persistencia de datos sensibles
  • 📈 Escalable - De 10 a 10,000 correos sin cambios
  • 📝 Trazable - Logs automáticos de cada operación
  • 📊 Múltiples Formatos - CSV, Excel, JSON, TXT, Inline, Silent

🎯 Casos de Uso

1️⃣ Migración Corporativa (CSV)

# Migrar 1000 empleados de @oldcompany.com a @newcompany.com
email-processor --input-type file \
  --input employees.txt \
  --new-domain newcompany.com \
  --output-type csv \
  --output migrated.csv

1️⃣.1 Migración a Excel

# Generar reporte en Excel para análisis
email-processor --input-type file \
  --input employees.txt \
  --new-domain newcompany.com \
  --output-type excel \
  --output migrated.xlsx

1️⃣.2 Migración a TXT

# Generar archivo de texto plano
email-processor --input-type file \
  --input employees.txt \
  --new-domain newcompany.com \
  --output-type txt \
  --output migrated.txt

1️⃣.3 Salida en Consola (Inline)

# Ver resultados directamente en consola
email-processor --input-type list \
  --input "juan.perez@old.com,maria.garcia@old.com" \
  --new-domain newcompany.com \
  --output-type inline

# Salida:
# Nombre,Apellido,Correo Original,Correo Nuevo
# Juan,Perez,juan.perez@old.com,juan.perez@newcompany.com
# Maria,Garcia,maria.garcia@old.com,maria.garcia@newcompany.com

2️⃣ API para Integraciones

# Integrar con tus sistemas existentes
curl -X POST https://api.company.com/transform \
  -H "x-api-key: YOUR_KEY" \
  -d '{"emails":["user@old.com"],"new_domain":"new.com"}'

3️⃣ Uso Programático

from email_processor import EmailProcessor

processor = EmailProcessor()
result = processor.process(
    emails=["juan.perez@old.com"],
    new_domain="company.com"
)

4️⃣ Automatización con n8n

Importa examples/n8n_workflow.json y automatiza flujos completos visualmente.

🎯 Validación Inteligente

Formato requerido: nombre.apellido@dominio.com

Válidos:

  • juan.perez@company.com
  • maría.garcía@empresa.com
  • josé.lópez@domain.com

Rechazados automáticamente:

  • user@company.com → Falta punto separador
  • j.p@company.com → Nombre/apellido muy corto
  • juan123.perez@company.com → Números no permitidos
  • user@@company.com → Múltiples @

Ver reglas completas en la documentación.

📊 Formatos de Salida

Todos los formatos generan 4 campos según el PDD:

  • Nombre - Nombre capitalizado
  • Apellido - Apellido capitalizado
  • Correo Original - Email de entrada
  • Correo Nuevo - Email con nuevo dominio
Formato Extensión Uso Recomendado Comando
📊 CSV .csv Análisis de datos, importación masiva --output-type csv --output file.csv
📗 Excel .xlsx Reportes ejecutivos, presentaciones --output-type excel --output file.xlsx
📝 TXT .txt Archivos de texto plano, scripts --output-type txt --output file.txt
📜 JSON .json APIs, integraciones, aplicaciones --output-type json --output file.json
💻 Inline Consola Verificación rápida, debugging --output-type inline
🔇 Silent Ninguno Procesos automatizados, pipelines --output-type silent

Ejemplo de salida (todos los formatos):

Nombre,Apellido,Correo Original,Correo Nuevo
Juan,Perez,juan.perez@old.com,juan.perez@new.com
Maria,Garcia,maria.garcia@old.com,maria.garcia@new.com

📦 Instalación

pip install email-processor-cli

Ver Guía de Instalación para más opciones.

📚 Documentación Completa

Documento Descripción
🚀 Inicio Rápido Comienza en 5 minutos
📖 Guía de Despliegue CLI, API Local, AWS Lambda
Cheatsheet Comandos y referencia rápida
📋 PDD Proceso de negocio y reglas
🔄 Integración n8n Automatización visual
💻 Ejemplos Código completo CLI, API, Librería

🏗️ Arquitectura

  • Hexagonal (Ports & Adapters) - Núcleo de negocio aislado
  • Stateless - Escalable horizontalmente sin límites
  • Multi-interfaz - CLI, API REST, Librería, Lambda
  • IaC con Terraform - Infraestructura reproducible
  • Serverless AWS - Sin servidores que mantener

🤝 Contribuir

Contribuciones bienvenidas! Ver ejemplos para casos de uso.

📄 Licencia

MIT License - Ver LICENSE para detalles.

👤 Autor

Anderson Taguada


⭐ Si este proyecto te ayudó, considera darle una estrella en GitHub!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

email_processor_cli-2025.10.27.211009.tar.gz (60.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

email_processor_cli-2025.10.27.211009-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

Details for the file email_processor_cli-2025.10.27.211009.tar.gz.

File metadata

File hashes

Hashes for email_processor_cli-2025.10.27.211009.tar.gz
Algorithm Hash digest
SHA256 3de5e3f817951922a29f42058b18bdfc12203ee842d5805af398964b0f293764
MD5 9798394a62913ed74454411fee647417
BLAKE2b-256 dac8c33e65d3d4c756739677ae2a19292507cfda3b649d1ccfb64022cbd031c3

See more details on using hashes here.

File details

Details for the file email_processor_cli-2025.10.27.211009-py3-none-any.whl.

File metadata

File hashes

Hashes for email_processor_cli-2025.10.27.211009-py3-none-any.whl
Algorithm Hash digest
SHA256 0a70ef90a49131884f4c9205434bdd0e01b9e3e27048cfca3edc2c5e85f97ba7
MD5 40dfe1856855cf25cfd3f231e52bd8ad
BLAKE2b-256 0aa7101e6301797068df9e034c3b9d8009d517548cac9193d730ba1b95741c3c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page