From c3420d156eb040cbe78bbda2b3c7c647ae724d2b Mon Sep 17 00:00:00 2001 From: "nikolay.saskovets" Date: Fri, 16 May 2014 06:57:58 -0400 Subject: [PATCH] ability to use default Mandrill subject and from fields --- djrill/mail/backends/djrill.py | 8 ++++++++ docs/usage/templates.rst | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/djrill/mail/backends/djrill.py b/djrill/mail/backends/djrill.py index 18ee6a8..f44ad02 100644 --- a/djrill/mail/backends/djrill.py +++ b/djrill/mail/backends/djrill.py @@ -87,6 +87,7 @@ class DjrillBackend(BaseEmailBackend): if getattr(message, 'alternatives', None): self._add_alternatives(message, msg_dict) self._add_attachments(message, msg_dict) + self._filter_msg_dict(message, msg_dict) api_params['message'] = msg_dict # check if template is set in message to send it via @@ -310,3 +311,10 @@ class DjrillBackend(BaseEmailBackend): 'content': content_b64.decode('ascii'), } return mandrill_attachment, is_embedded_image + + def _filter_msg_dict(self, message, msg_dict): + if hasattr(message, 'clear_from') and message.clear_from: + msg_dict['from_name'] = '' + msg_dict['from_email'] = '' + if hasattr(message, 'clear_subject') and message.clear_subject: + msg_dict['subject'] = '' diff --git a/docs/usage/templates.rst b/docs/usage/templates.rst index 8b9acfc..74a82ce 100644 --- a/docs/usage/templates.rst +++ b/docs/usage/templates.rst @@ -37,6 +37,26 @@ and will ignore any `body` text set on the `EmailMessage`. All of Djrill's other :ref:`Mandrill-specific options ` can be used with templates. +How To Use Default Mandrill Subject and From fields +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.. versionadded:: dev + Mandrill default fields support + +To use default *Mandril* subject or default from field you need send message +to *Mandril* with empty subject or empty from field. This can be done using +the following attrs: :attr:`clear_subject` and :attr:`clear_from` on +your :class:`~django.core.mail.EmailMessage` object:: + # ... + msg.clear_subject = True + msg.clear_from = True + msg.send() + +If :attr:`clear_subject` is set, Djrill will send message without subject and +Mandrill will use default subject. + +If :attr:`clear_from` is set, Djrill will send message without from field and +Mandrill will use default from field. + .. _django-templates: