Registro de correo saliente de Postfix en Node.js y TeqFW DI
Durante el desarrollo de NutriLog, necesitaba rastrear todos los correos salientes enviados a través de Postfix. Así surgió una pequeña herramienta — smtp-logger.
Es una utilidad simple en Node.js que se conecta a Postfix como un manejador a través de pipe. Recibe
el correo completo a través de stdin, extrae el remitente, destinatario y asunto, y guarda toda la estructura MIME "cruda"
en una base de datos SQL (PostgreSQL, SQLite, MySQL, etc. mediante knex).
¿Qué hace interesante este proyecto?
Es un ejemplo funcional de aplicación de módulos ES6 y enlace tardío de dependencias en arquitectura JS. Toda la estructura está construida usando @teqfw/di — un contenedor DI ligero, compatible con JavaScript nativo (sin TypeScript ni bundlers).
Características
Integración con Postfix mediante
pipe(por ejemplo, a través dealways_bcc)Extracción de
from,toysubject+ almacenamiento del correo completoFunciona con cualquier base de datos compatible con
knexInterfaz CLI: comandos
init-dbylogSoporte para SQLite en registros locales
Importante: el esquema de la base de datos no se crea automáticamente. Antes de usar, es necesario ejecutar manualmente
el comando init-db.
Si usas Postfix solo para correo saliente — esta es una excelente solución para auditoría, depuración y registro de mensajes en producción o entornos de staging.