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

📚 Documentación Técnica

🎯 Documentos Principales (Prueba Técnica)

Documento Qué Demuestra Enlace
📘 PDD Análisis de proceso AS-IS, reglas de negocio, identificación de oportunidades de automatización Ver PDD
🏗️ SDD Arquitectura hexagonal, diseño técnico, decisiones de implementación, patrones de diseño Ver SDD
🔄 n8n Integración con herramientas de automatización, workflows visuales, casos de uso reales Ver n8n

📖 Guías de Implementación


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

🏗️ Arquitectura y Diseño

Patrones Implementados

  • Hexagonal (Ports & Adapters) - Núcleo de negocio aislado de infraestructura
  • Domain-Driven Design - Lógica de negocio en el dominio
  • Dependency Injection - Bajo acoplamiento entre componentes
  • Multi-interfaz - CLI, API REST, Librería Python, AWS Lambda

Infraestructura

  • Stateless - Escalable horizontalmente sin límites
  • IaC con Terraform - Infraestructura como código reproducible
  • Serverless AWS - Lambda + API Gateway
  • CI/CD Ready - Preparado para pipelines de despliegue

Detalles completos: Ver SDD


📄 Información del Proyecto

Autor: Anderson Taguada | Licencia: MIT | GitHub: @anders2d

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.28.192459.tar.gz (60.7 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.28.192459-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for email_processor_cli-2025.10.28.192459.tar.gz
Algorithm Hash digest
SHA256 bd818a09ab96f9569fb2b1c9d28ad61403c32e549d08a7d9517dae4faeb284eb
MD5 a1633a464821d2c7efdb77a8939d2ec3
BLAKE2b-256 0aabc1875a1ae830bb660bceec1a80e601c89356f7eb1c818673b23fc7aee9bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for email_processor_cli-2025.10.28.192459-py3-none-any.whl
Algorithm Hash digest
SHA256 5cd127c368fa10257d8dd75fdf359e827d56b90100aff9b1eed0a7194cc69dc2
MD5 8865e8d28c2b397d3aff1320e6daed7f
BLAKE2b-256 610107335fdc80d402d6a402a1e48ecfb2f1b5474660c7fc433726fda34635f4

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