12+ Django Packages that help manage email sending
- Mar 19, 2022
A Django email backend that uses a celery task for sending the email.
CELERY_EMAIL_TASK_CONFIG = { 'queue' : 'email', 'rate_limit' : '50/m', # * CELERY_EMAIL_CHUNK_SIZE (default: 10) ... }celery django python
Django module to easily send emails/sms/tts/push using django templates stored on database and managed through the Django Admin
Mail API
from dbmail.models import MailTemplate from dbmail import send_db_mail # New dbmail template MailTemplate.objects.create( name="Site welcome template", subject="[{{prefix}}] Welcome {{full_name}}!", message="Hi, {{username}}. Welcome to our site.", slug="welcome", is_html=False, ) # Send message with created template send_db_mail( # slug which defined on db template slug='welcome', # recipient can be list, or str separated with comma or simple string # '[email protected]' or '[email protected], [email protected]' or # ['[email protected]', '[email protected]'] or string Mail group slug recipient='[email protected]', # All *args params will be accessible on template context { 'username': request.user.username, 'full_name': request.user.get_full_name(), 'signup_date': request.user.date_joined, 'prefix': "DbMail", }, # You can access to all model fields. For m2m and fk fields, you should use module_name MyModel.objects.get(pk=1), # Optional kwargs: # backend='dbmail.backends.mail', # provider='apps.utils.some.mail.provider', # from_email='[email protected]' # cc=['[email protected]'], # bcc=['[email protected]'], # user=User.objects.get(pk=1), # # language='ru', # # attachments=[(filename, content, mimetype)], # files=['hello.jpg', 'world.png'], # headers={'Custom-Header':'Some value'}, # # queue='default', # retry_delay=300, # max_retries=3, # retry=True, # time_limit=30, # send_after=60, # # use_celery=True, )

Use Django admin to manage drip campaign emails using querysets on Django's User model.
Next, you'll want to add drip
to your INSTALLED_APPS
in settings.py.
INSTALLED_APPS = ( 'django.contrib.contenttypes', 'django.contrib.comments', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', # Your favorite apps 'drip', )
featured
PGP encrypted / multipart templated emails for Django
send_mail_template(subject, template, addr_from, addr_to, fail_silently=False, attachments=None, context=None, headers=None)
A django package which act as a gateway to send and receive email with amazon SES.
Use pip to install easily with one step:
$ pip install django-email-gateway
git clone git://github.com/micropyramid/django-email-gateway.git cd django-email-gateway python setup.py installamazon-ses email-notification ses
This project is deprecated in favor of https://github.com/anymail/django-anymail
Features
Passing user-specific dataEMAIL_BACKEND = 'django_mailgun.MailgunBackend' MAILGUN_ACCESS_KEY = 'ACCESS-KEY' MAILGUN_SERVER_NAME = 'SERVER-NAME'
A Django app that allows you to send email asynchronously in Django. Supports HTML email, database backed templates and logging.
Send a simple email is really easy:
from post_office import mail mail.send( '[email protected]', # List of email addresses also accepted '[email protected]', subject='My email', message='Hi there!', html_message='Hi <strong>there</strong>!', )
A Django email backend for Amazon's Simple Email Service
EMAIL_BACKEND = 'django_ses.SESBackend' # These are optional -- if they're set as environment variables they won't # need to be set here as well AWS_ACCESS_KEY_ID = 'YOUR-ACCESS-KEY-ID' AWS_SECRET_ACCESS_KEY = 'YOUR-SECRET-ACCESS-KEY' # Additionally, if you are not using the default AWS region of us-east-1, # you need to specify a region, like so: AWS_SES_REGION_NAME = 'us-west-2' AWS_SES_REGION_ENDPOINT = 'email.us-west-2.amazonaws.com'
A django email backed for the Spoolgore daemon
Django module to easily send templated emails using django templates, or using a transactional mail provider (mailchimp, silverpop, etc.)
You can add the following to your settings.py (but it works out the box):
TEMPLATED_EMAIL_BACKEND = 'templated_email.backends.vanilla_django.TemplateBackend' # You can use a shortcut version TEMPLATED_EMAIL_BACKEND = 'templated_email.backends.vanilla_django' # You can also use a class directly from templated_email.backends.vanilla_django import TemplateBackend TEMPLATED_EMAIL_BACKEND = TemplateBackend
Send e-mails asyncronously using cron
django mail mailer python
Simple, powerfull and nonobstructive django email middleware.
[INACTIVE/UNMAINTAINED] Djrill is an email backend and new message class for Django users that want to take advantage of the Mandrill transactional email service from MailChimp.
Edit your project's settings.py
:
INSTALLED_APPS = ( ... "djrill" ) MANDRILL_API_KEY = "<your Mandrill key>" EMAIL_BACKEND = "djrill.mail.backends.djrill.DjrillBackend" DEFAULT_FROM_EMAIL = "[email protected]" # if you don't already have this in settings