Queening and storing EMAIL_BACKEND for django.
Project description
Queening and storing EMAIL_BACKEND for django.
Free software: GNU Affero General Public License v3
Documentation: https://django-email-queue.readthedocs.io.
No change in django send_messages usage to get message storing
You don’t have to change the way you send messages, this app will plugin into the usual django plumbing.
This way all the email send though django EMAIL_BACKEND will get stored for auditing.
No overhead infrastructure
You don’t have to setup overhead infrastructure (e.g. celery, redis and rabbitmq) just to send emails asynchronously. You can use a simple worker that will send queued emails.
When you get big and having a MQ and all that is a good choice, all you have to to is set EMAIL_QUEUE_EMAIL_BACKEND to ‘djcelery_email.backends.CeleryEmailBackend’. This way you get message storing for auditing and will use pro setup for asynchronously ran tasks.
Quickstart
Install Django email queue:
pip install django-email-queue
This is a plugin replacement for your current EMAIL_BACKEND. You’ll still use it to send actual messages, but before them they’ll get stored and queued in models visible from admin panel.
EMAIL_BACKEND = 'django_email_queue.backends.EmailBackend'
EMAIL_QUEUE_EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
INSTALLED_APPS = [
...
'django_email_queue.apps.DjangoEmailQueueConfig',
]
Now you have a few options to setup queue processing
Run django_email_queue.worker from terminal to continuously send emails:
python -m django_email_queue.worker
Set EMAIL_QUEUE_SLEEP_TIME to number of settings to sleep between runs.
Run django command to process queue and exit:
python manage.py send_queued_messages
Manually from django admin for :
Running Tests
Does the code actually work?
$ pipenv install --dev $ pipenv shell $ tox
We recommend using pipenv but a legacy approach to creating virtualenv and installing requirements should also work. Please install requirements/development.txt to setup virtual env for testing and development.
Credits
This package was created with Cookiecutter and the wooyek/cookiecutter-django-app project template.
History
0.9.17 (2018-01-02)
First release on PyPI.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-email-queue-0.23.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c2470f61b4817ac061ffc3f23487492efa0494d664fd6ef557849a7c9e54c0 |
|
MD5 | 44482fbb7847f7009e12f724a08978bc |
|
BLAKE2b-256 | c5ab848587596c6f5be1ac6d8dbcc3f3b46a1d9205cb626e04f226a1d261e79c |
Hashes for django_email_queue-0.23.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46dbf9b959e95c2737929ef569f8c052e2fa1c38af9eb4f1a400fb652729bf32 |
|
MD5 | 6b0fdcb1065ce4994fb84598e87d5b18 |
|
BLAKE2b-256 | 074890125e8e6f667036c1a8c91e43fd87081f58ded4f1af6f90fd14805bc3f1 |