Registro de correo saliente de Postfix en Node.js y TeqFW DI

Fecha de publicación: 2025-04-13

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

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.