📨 Django mails. Supercharged. https://majikode.github.io/django-nitro-mailer/
  • Python 99.3%
  • HTML 0.7%
Find a file
2026-03-26 23:01:40 +01:00
.github/workflows feat: Replace MkDocs with Zensical 2026-03-26 23:01:40 +01:00
django_nitro_mailer feat: Squash migrations 2025-09-26 09:42:24 +02:00
docs docs: Update versions in the docs 2025-12-04 17:07:11 +01:00
tests QoL improvements (#11) 2024-10-19 00:03:26 +02:00
.gitignore docs: Build and deploy docs on GitHub Pages 2024-10-19 09:44:02 +02:00
dev_settings.py chore: Update dependencies and update code style 2024-10-18 20:33:40 +02:00
LICENSE Initial commit 2024-03-28 22:14:17 +01:00
manage.py chore: Update dependencies and update code style 2024-10-18 20:33:40 +02:00
MANIFEST.in fix: Make the admin template work in other apps 2025-03-22 12:09:48 +01:00
pyproject.toml feat: Replace MkDocs with Zensical 2026-03-26 23:01:40 +01:00
README.md feat: Replace MkDocs with Zensical 2026-03-26 23:01:40 +01:00
urls.py feat: Create structure for reusable Django app development 2024-05-18 14:06:41 +02:00
uv.lock feat: Replace MkDocs with Zensical 2026-03-26 23:01:40 +01:00
zensical.toml feat: Replace MkDocs with Zensical 2026-03-26 23:01:40 +01:00

📨 Django mails. Supercharged.

PyPI - Version Test Status

Overview

django-nitro-mailer is a pluggable Django app that provides extra email reliability and observability in form of email backends that can be used with Django's built-in functions and other email backend.

django-nitro-mailer by itself does not provide a way to send emails, but it puts an extra layer before the email backend to provide extra features like:

  • priority queueing
  • retrying failed emails
  • logging and traces
  • email throttling
  • sending messages through the admin panel

Requirements

  • Python >= 3.12, < 3.14
  • Django >= 5.2, < 6.1

Installation

Install the package using pip:

$ pip install django-nitro-mailer

Usage

  1. Add django_nitro_mailer to your INSTALLED_APPS in your settings.py:
INSTALLED_APPS = [
    ...
    "django_nitro_mailer",
    ...
]
  1. Run python manage.py migrate to create the necessary tables.

  2. Change the EMAIL_BACKEND setting in your settings.py to use the desired backend:

  • Database Backend: Store emails in the database and send them asynchronously. Requires sending a cron job or some other scheduled task to send the emails.
EMAIL_BACKEND = "django_nitro_mailer.backends.DatabaseBackend"
  • Sync Backend: Send emails synchronously. Does not provide the reliability that the database backend provides, but still provides the logging and throttling features.
EMAIL_BACKEND = "django_nitro_mailer.backends.SyncBackend"

Documentation

Documentation is available here.

License

django-nitro-mailer is under the terms of the MIT License, following all clarifications stated in the license file.