mirror of
https://github.com/majikode/django-nitro-mailer.git
synced 2026-04-12 11:10:00 +02:00
📨 Django mails. Supercharged.
https://majikode.github.io/django-nitro-mailer/
- Python 99.3%
- HTML 0.7%
| .github/workflows | ||
| django_nitro_mailer | ||
| docs | ||
| tests | ||
| .gitignore | ||
| dev_settings.py | ||
| 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.14
- 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.