Djrill integrates the Mandrill transactional email service into Django.
In general, Djrill "just works" with Django's built-in django.core.mail
package. It includes:
- Support for HTML, attachments, extra headers, and other features of Django's built-in email
- Mandrill-specific extensions like tags, metadata, tracking, and MailChimp templates
- Optional support for Mandrill inbound email and other webhook notifications, via Django signals
- An optional Django admin interface
Djrill is released under the BSD license. It is tested against Django 1.3---1.6 (including Python 3 support with Django 1.5+).
Resources
- Full documentation: https://djrill.readthedocs.org/en/latest/
- Package on PyPI: https://pypi.python.org/pypi/djrill
- Project on Github: https://github.com/brack3t/Djrill
Install Djrill from PyPI:
$ pip install djrill
Edit your project's
settings.py
:INSTALLED_APPS = ( ... "djrill" ) MANDRILL_API_KEY = "<your Mandrill key>" EMAIL_BACKEND = "djrill.mail.backends.djrill.DjrillBackend"
Now the regular Django email functions will send through Mandrill:
from django.core.mail import send_mail send_mail("It works!", "This will get sent through Mandrill", "Djrill Sender <djrill@example.com>", ["to@example.com"])
You could send an HTML message, complete with custom Mandrill tags and metadata:
from django.core.mail import EmailMultiAlternatives msg = EmailMultiAlternatives( subject="Djrill Message", body="This is the text email body", from_email="Djrill Sender <djrill@example.com>", to=["Recipient One <someone@example.com>", "another.person@example.com"], headers={'Reply-To': "Service <support@example.com>"} # optional extra headers ) msg.attach_alternative("<p>This is the HTML email body</p>", "text/html") # Optional Mandrill-specific extensions: msg.tags = ["one tag", "two tag", "red tag", "blue tag"] msg.metadata = {'user_id': "8675309"} # Send it: msg.send()
See the full documentation for more features and options.