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
Close
Hashes for django-multi-mail-backend-1.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ca6ee6594eb79e2956003ca1537ddfc147c0165560bca9238dd4b816d06b436 |
|
MD5 | 6202965d7b01e453f6dcd88e32ea6863 |
|
BLAKE2b-256 | 15bd102ee05c2ca8edd0ad2a5a88108ad25b8b5ba010c1fe529f779031dca876 |
Close
Hashes for django_multi_mail_backend-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 322832aebae84c71ad982b4361e4b805394fc7eeb467cd742418390a591e68b0 |
|
MD5 | ef40d387a41fe94e32de5bb894a92b91 |
|
BLAKE2b-256 | b5417cc5c0b0e3d82ae84e54675bed70255151bd481c757ed197962c48a981af |