Django Multi Mail Backend
Project description
Django Multi Mail Backend
If you use or like the project, click Star
and Watch
to generate metrics and i evaluate project continuity.
Install:
pip install django-multi-mail-backend
Configuration
-
Usage with multi backend
-
In your
settings.py
:EMAIL_BACKEND = 'django_multi_mail_backend.backend.MultiServerBackend'
-
set settings servers backend, in
settings.py
, ex:EMAIL_BACKENDS = { 'smtp': { 'BACKEND': 'django_multi_mail_backend.backend.MultiSMTPBackend', # settings for MultiSMTPBackend }, 'smtp2': { 'BACKEND': 'django_multi_mail_backend.backend.MultiSMTPBackend', # settings for MultiSMTPBackend }, 'ses': { 'BACKEND': 'django_multi_mail_backend.backend.MultiSESBackend', # settings for MultiSESBackend }, 'original_smtp': { 'BACKEND': 'django.core.mail.backends.smtp.EmailBackend', # this use original django smtp class and configurations }, 'console': { 'BACKEND': 'django.core.mail.backends.console.EmailBackend', } }
-
-
Multi SMTP Server:
-
In your
settings.py
:EMAIL_BACKEND = 'django_multi_mail_backend.backend.MultiSMTPBackend'
-
set settings for MultiSMTPBackend in
settings.py
:# MultiSMTPBackend use django `django.core.mail.backends.smtp.EmailBackend` in the background EMAIL_BACKENDS = { 'default': { # see all configuration here: https://docs.djangoproject.com/en/4.1/topics/email/#smtp-backend 'HOST': 'mailhog', 'PORT': 1025, 'HOST_USER': None, 'HOST_PASS': None, 'USE_TLS': None, 'USE_SSL': None, 'TIMEOUT': None, 'SSL_KEYFILE': None, 'SSL_CERTFILE': None, 'DEFAULT_FROM_EMAIL': "test@teste.com", }, 'example1': { # copy above settings } }
-
-
Multi SES Server:
-
In your
settings.py
:EMAIL_BACKEND = 'django_multi_mail_backend.backend.MultiSESBackend'
-
set settings for MultiSESBackend in
settings.py
:# MultiSESBackend use django `django_ses.SESBackend` in the background # see all configuration here: https://github.com/django-ses/django-ses # removed `AWS_` in front of the keys EMAIL_BACKENDS = { 'default': { 'ACCESS_KEY': 'mailhog', 'SECRET_KEY': 1025, 'SESSION_TOKEN': None, 'SES_REGION_NAME': None, 'SES_REGION_ENDPOINT_URL': None, 'SES_AUTO_THROTTLE': None, 'SES_CONFIG': None, 'DKIM_DOMAIN': None, 'DKIM_PRIVATE_KEY': None, 'DKIM_SELECTOR': None, 'DKIM_HEADERS': None, 'SES_SOURCE_ARN': None, 'SES_FROM_ARN': None, 'SES_RETURN_PATH_ARN': None, }, 'example1': { # copy above settings } }
-
Usage
Don't use default django methods direct, because this method not accept custom parameters, instead use the options below
-
With send_mail
from django_multi_mail_backend import send_mail, send_mass_mail ... send_mail(..., use_use_backend='smtp') send_mass_mail(..., use_backend='ses')
or
from django.core.mail import send_mail, send_mass_mail, get_connection ... with get_connection(use_backend='console') as connection: send_mail(..., connection=connection) send_mass_mail(..., connection=connection)
-
With EmailMessage
from django_multi_mail_backend import EmailMessage, EmailMultiAlternatives ... EmailMessage(..., use_backend='smtp2').send() EmailMultiAlternatives(..., use_backend='original_smtp').send()
or
from django.core.mail import EmailMessage, EmailMultiAlternatives, get_connection ... with get_connection(use_backend='smtp') as connection: EmailMessage(..., connection=connection).send() EmailMultiAlternatives(..., connection=connection).send()
-
With send_messages
from django_multi_mail_backend import EmailMessage, EmailMultiAlternatives, get_connection ... with get_connection(use_backend='smtp') as connection: connection.send_messages([EmailMessage(...), EmailMultiAlternatives(...)])
or
from django.core.mail import EmailMessage, EmailMultiAlternatives, get_connection ... with get_connection(use_backend='smtp') as connection: connection.send_messages([EmailMessage(...), EmailMultiAlternatives(...)])
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
File details
Details for the file django-multi-mail-backend-1.0.1.tar.gz
.
File metadata
- Download URL: django-multi-mail-backend-1.0.1.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ca6ee6594eb79e2956003ca1537ddfc147c0165560bca9238dd4b816d06b436 |
|
MD5 | 6202965d7b01e453f6dcd88e32ea6863 |
|
BLAKE2b-256 | 15bd102ee05c2ca8edd0ad2a5a88108ad25b8b5ba010c1fe529f779031dca876 |
File details
Details for the file django_multi_mail_backend-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: django_multi_mail_backend-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 322832aebae84c71ad982b4361e4b805394fc7eeb467cd742418390a591e68b0 |
|
MD5 | ef40d387a41fe94e32de5bb894a92b91 |
|
BLAKE2b-256 | b5417cc5c0b0e3d82ae84e54675bed70255151bd481c757ed197962c48a981af |