📨 Django mails. Supercharged.
https://pypi.org/project/django-nitro-mailer/
- Python 99.3%
- HTML 0.7%
|
Some checks failed
Tests / Ruff Formatter (push) Has been cancelled
Tests / Pytest (Python 3.12, Django 5.2) (push) Has been cancelled
Tests / Pytest (Python 3.13, Django 5.2) (push) Has been cancelled
Tests / Pytest (Python 3.14, Django 5.2) (push) Has been cancelled
Tests / Pytest (Python 3.12, Django 6.0) (push) Has been cancelled
Tests / Pytest (Python 3.13, Django 6.0) (push) Has been cancelled
Tests / Pytest (Python 3.14, Django 6.0) (push) Has been cancelled
Tests / Ruff Linter (push) Has been cancelled
PyPI Publish / Build (push) Successful in 30s
|
||
|---|---|---|
| .github/workflows | ||
| django_nitro_mailer | ||
| tests | ||
| .gitignore | ||
| dev_settings.py | ||
| django-nitro-mailer-logo.png | ||
| LICENSE | ||
| manage.py | ||
| MANIFEST.in | ||
| pyproject.toml | ||
| README.md | ||
| urls.py | ||
| uv.lock | ||
| zensical.toml | ||
📨 Django mails. Supercharged.
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.15
- Django >=5.2, <6.1
Installation
Install the package using pip:
$ pip install django-nitro-mailer
Usage
- Add
django_nitro_mailerto yourINSTALLED_APPSin yoursettings.py:
INSTALLED_APPS = [
...
"django_nitro_mailer",
...
]
-
Run
python manage.py migrateto create the necessary tables. -
Change the
EMAIL_BACKENDsetting in yoursettings.pyto 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.