Email backend for Django sending emails via Dramatiq.
This package is tested up to Django 4.1.
To enable django-dramatiq-email
, modify your project settings.py
:
- Add
"django_dramatiq_email"
toINSTALLED_APPS
below"django_dramatiq"
, - Set
EMAIL_BACKEND
to"django_dramatiq_email.backends.DramatiqEmailBackend"
, - Set
DRAMATIQ_EMAIL_BACKEND
to the actual email backend you want to use (SMTP, Anymail, etc), - Optionally, add the
DRAMATIQ_EMAIL_TASK_CONFIG
dict as shown below.
The dramatiq.actor
args (reference, user guide) for send_email
can be set via the DRAMATIQ_EMAIL_TASK_CONFIG
dict in your settings.py
.
The default args are here - most notably, the default queue_name
is django_email
.
Example configuration (using the Retry middleware):
DRAMATIQ_EMAIL_TASK_CONFIG = {
"max_retries": 20,
"min_backoff": 15000,
"max_backoff": 86400000,
"queue_name": "my_custom_queue"
}
Bulk emails are send using individual Dramatiq tasks. Doing so these tasks can be restarted individually.