🚀 New Open Source Django App: maillogger – Parse, Track, and Classify Email Delivery Logs

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