I'm excited to share a new open-source Django app I've created called maillogger — a lightweight tool for parsing Postfix mail logs and storing structured delivery data for analytics, monitoring, and bounce management.
🧩 What Is maillogger
?
maillogger is a small but powerful Django app that reads mail server logs (like /var/log/mail.log
) and extracts key email delivery information, storing it in a clean, queryable database model. It supports tracking of:
- Sent emails
- Bounced emails (with automatic classification into hard or soft bounces)
- Reasons for failure (e.g., "mailbox not found", "user unknown", etc.)
- Message IDs and timestamps
You can then filter this data to:
- Unsubscribe hard-bounced addresses via API
- Analyze email performance
- Monitor bounce rates by domain or campaign
🔧 Features
- ✅ Parses plain text and compressed
.gz
Postfix log files - ✅ Tracks sender, recipient, status, reason, and bounce type
- ✅ Separates hard vs. soft bounces
- ✅ Built-in Django management commands
- ✅ Ready for unsubscribe APIs and dashboards
🛠Commands Included
parse_maillogs
: Extracts data from mail logs and saves it to the database.classify_bounces
: Identifies and marks bounce types (hard
vs.soft
).
💻 Tech Stack
- Python 2.7 compatible
- Django 1.11 LTS
- PostgreSQL / MySQL / SQLite (any Django-supported DB)
- Works with Postfix logs (
mail.log
,mail.log.1
,.gz
rotations)
🔓 Open Source
The code is fully open source and MIT licensed — you're free to use, extend, or adapt it in your own email delivery systems or SaaS projects.
📦 GitHub Repository: https://github.com/OnlineSolutionsGroupBV/Email-marketing-platforms
🙌 Contributions Welcome
If you have ideas to improve bounce detection, support other mail systems, or visualize bounce rates — feel free to fork the repo or open a pull request.
Thanks for checking it out — and happy emailing! 💌
Comments
Post a Comment