Skip to content

Email backend for Django sending emails via Dramatiq.

License

Notifications You must be signed in to change notification settings

orsinium-forks/django-dramatiq-email

 
 

Repository files navigation

Django Dramatiq Email

Email backend for Django sending emails via Dramatiq.

This package is tested up to Django 4.1.

Test Status Lint Status Code coverage Status Code style: black

Installation

To enable django-dramatiq-email, modify your project settings.py:

  • Add "django_dramatiq_email" to INSTALLED_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.

Configuration

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

Bulk emails are send using individual Dramatiq tasks. Doing so these tasks can be restarted individually.

Maintainer

Tim Drijvers

About

Email backend for Django sending emails via Dramatiq.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%