CLI tool for email processing with domain migration
Project description
📧 Procesador de Correos - Migración de Dominios Automatizada
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
Procesamiento CSV
Validación de Errores
Integración con 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.commaría.garcía@empresa.comjosé.lópez@domain.com
❌ Rechazados automáticamente:
user@company.com→ Falta punto separadorj.p@company.com→ Nombre/apellido muy cortojuan123.perez@company.com→ Números no permitidosuser@@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
- GitHub: @anders2d
- Email: ferchoafta@gmail.com
⭐ Si este proyecto te ayudó, considera darle una estrella en GitHub!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file email_processor_cli-2025.10.27.211009.tar.gz.
File metadata
- Download URL: email_processor_cli-2025.10.27.211009.tar.gz
- Upload date:
- Size: 60.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3de5e3f817951922a29f42058b18bdfc12203ee842d5805af398964b0f293764
|
|
| MD5 |
9798394a62913ed74454411fee647417
|
|
| BLAKE2b-256 |
dac8c33e65d3d4c756739677ae2a19292507cfda3b649d1ccfb64022cbd031c3
|
File details
Details for the file email_processor_cli-2025.10.27.211009-py3-none-any.whl.
File metadata
- Download URL: email_processor_cli-2025.10.27.211009-py3-none-any.whl
- Upload date:
- Size: 25.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a70ef90a49131884f4c9205434bdd0e01b9e3e27048cfca3edc2c5e85f97ba7
|
|
| MD5 |
40dfe1856855cf25cfd3f231e52bd8ad
|
|
| BLAKE2b-256 |
0aa7101e6301797068df9e034c3b9d8009d517548cac9193d730ba1b95741c3c
|