Mail, CRM, and Newsletter in one automated chain—folding content operations' infrastructure into a command-line and Docker stack.
Marketing operations shouldn't be scattered across spreadsheets and manual work
One command line—receive, read, and reply
One Docker stack, all customer relationships archived
Listmonk + Postgres, distributing content in one click
Discover → reply → record → distribute
A few commands, from zero to running
The real infrastructure of content operations is mail, customers, and distribution.
Many content-operation teams put their effort into content itself, yet let mail, customer relationships and newsletters scatter across spreadsheets and manual work. FengOffice folds these three into one automated chain: one CLI for mail, one Docker stack for CRM, and one newsletter system for distribution.
fengmail.py—IMAP to receive, SMTP to reply, everything output as JSON.
Multiple mail accounts managed under one command line. Check mail, read bodies, send, reply—everything outputs JSON, ready for scripts and AI to consume directly.
Twenty CRM—self-hosted, data in hand.
Mail discovery → reply → CRM record → newsletter distribution.
Each step's output feeds the next; the repeated labor is written into code once.
A few commands, and the whole stack is local.
python fengmail.py list-accounts — list configured mail accountsdocker compose up -d — start Twenty CRM (localhost:3002)docker compose up -d (newsletter folder) — start Listmonk + Postgrespython newsletter/scripts/send-newsletter.py — send a newsletterContent-operations automation starts here—beyond the numbers, engineering delivery is what ships it
Back to Tech Work →