Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/brack3t/Djrill

[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.
https://github.com/brack3t/Djrill

Last synced: about 2 months ago
JSON representation

[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.

Awesome Lists containing this project

README

        

Djrill: Mandrill Transactional Email for Django
===============================================

.. This README is reused in multiple places:
* Github: project page, exactly as it appears here
* Docs: shared-intro section gets included in docs/index.rst
quickstart section gets included in docs/quickstart.rst
* PyPI: project page (via setup.py long_description),
with several edits to freeze it to the specific PyPI release
(see long_description_from_readme in setup.py)
You can use docutils 1.0 markup, but *not* any Sphinx additions.

.. default-role:: literal

.. _shared-intro:

.. This shared-intro section is also included in docs/index.rst

Djrill integrates the `Mandrill `_ transactional
email service into Django.

**PROJECT STATUS: INACTIVE**

As of April, 2016, Djrill is no longer actively maintained (other
than security updates). It is likely to keep working unless/until
Mandrill changes their APIs, but Djrill will not be updated for
newer Django versions or Mandrill changes.
(`more info `_)

You may be interested in
`django-anymail `_,
a Djrill fork that supports Mailgun, Postmark, SendGrid, and other
transactional ESPs (including limited support for Mandrill).

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

Djrill is released under the BSD license. It is tested against Django 1.4--1.9
(including Python 3 with Django 1.6+, and PyPy support with Django 1.5+).
Djrill uses `semantic versioning `_.

.. END shared-intro

.. image:: https://travis-ci.org/brack3t/Djrill.png?branch=master
:target: https://travis-ci.org/brack3t/Djrill
:alt: build status on Travis-CI

**Resources**

* Full documentation: https://djrill.readthedocs.io/en/latest/
* Package on PyPI: https://pypi.python.org/pypi/djrill
* Project on Github: https://github.com/brack3t/Djrill

Djrill 1-2-3
------------

.. _quickstart:

.. This quickstart section is also included in docs/quickstart.rst

1. Install Djrill from PyPI:

.. code-block:: console

$ pip install djrill

2. Edit your project's ``settings.py``:

.. code-block:: python

INSTALLED_APPS = (
...
"djrill"
)

MANDRILL_API_KEY = ""
EMAIL_BACKEND = "djrill.mail.backends.djrill.DjrillBackend"
DEFAULT_FROM_EMAIL = "[email protected]" # if you don't already have this in settings

3. Now the regular `Django email functions `_
will send through Mandrill:

.. code-block:: python

from django.core.mail import send_mail

send_mail("It works!", "This will get sent through Mandrill",
"Djrill Sender ", ["[email protected]"])

You could send an HTML message, complete with custom Mandrill tags and metadata:

.. code-block:: python

from django.core.mail import EmailMultiAlternatives

msg = EmailMultiAlternatives(
subject="Djrill Message",
body="This is the text email body",
from_email="Djrill Sender ",
to=["Recipient One ", "[email protected]"],
headers={'Reply-To': "Service "} # optional extra headers
)
msg.attach_alternative("

This is the HTML email body

", "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()

.. END quickstart

See the `full documentation `_
for more features and options.