Логирование исходящей почты из Postfix на Node.js и TeqFW DI

Дата публикации: 2025-04-13

В процессе разработки NutriLog мне понадобилось отслеживать все исходящие письма, отправляемые через Postfix. Так появился небольшой инструмент — smtp-logger.

Это простая утилита на Node.js, которая подключается к Postfix как обработчик через pipe. Она получает полное письмо через `stdin`, извлекает отправителя, получателя и тему, а также сохраняет всю «сырую» MIME-структуру в SQL-базу данных (PostgreSQL, SQLite, MySQL и др. через `knex`).

Что делает этот проект интересным?

Это рабочий пример применения ES6-модулей и позднего связывания зависимостей в архитектуре на JS. Вся структура построена с использованием @teqfw/di — лёгкого DI-контейнера, совместимого с нативным JavaScript (без TypeScript и сборщиков).

Особенности

Важно: схема базы данных не создаётся автоматически. Перед использованием необходимо вручную запустить команду `init-db`.

Если вы используете Postfix только для исходящей почты — это отличное решение для аудита, отладки и логирования сообщений на продакшене или в staging-среде.