diff --git a/edx_ace/__init__.py b/edx_ace/__init__.py index 69bd5d5c..d41f5597 100644 --- a/edx_ace/__init__.py +++ b/edx_ace/__init__.py @@ -13,7 +13,7 @@ from .recipient import Recipient from .recipient_resolver import RecipientResolver -__version__ = '1.9.0' +__version__ = '1.9.1' __all__ = [ diff --git a/edx_ace/channel/django_email.py b/edx_ace/channel/django_email.py index 4e1021b5..06ce0db4 100644 --- a/edx_ace/channel/django_email.py +++ b/edx_ace/channel/django_email.py @@ -62,6 +62,7 @@ def deliver(self, message, rendered_message): from_email=from_address, to=[message.recipient.email_address], reply_to=reply_to, + headers=message.headers, ) mail.attach_alternative(rendered_template, 'text/html') diff --git a/edx_ace/message.py b/edx_ace/message.py index 83815e41..599cc98d 100644 --- a/edx_ace/message.py +++ b/edx_ace/message.py @@ -73,6 +73,9 @@ class Message(MessageAttributeSerializationMixin, metaclass=ABCMeta): default=None ) options = attr.ib() + + # headers are only supported for DjangoEmailChannel + headers = attr.ib() language = attr.ib(default=None) log_level = attr.ib(default=None) @@ -84,6 +87,10 @@ def default_context_value(self): def default_options_value(self): return {} + @headers.default + def default_headers_value(self): + return {} + @uuid.default def generate_uuid(self): return uuid4()