Skip to content

Commit

Permalink
Merge pull request #2 from dkainama/feature/from_email_support
Browse files Browse the repository at this point in the history
Added support for from_email field to send method
  • Loading branch information
pszpetkowski committed Jan 18, 2018
2 parents e967bb5 + c444134 commit 6d12a4a
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
4 changes: 2 additions & 2 deletions templated_mail/mail.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
from copy import deepcopy

from django.conf import settings
from django.contrib.sites.shortcuts import get_current_site
from django.core import mail
from django.template.context import make_context
from django.template.loader import get_template

from django.conf import settings


class BaseEmailMessage(mail.EmailMultiAlternatives):
_node_map = {
Expand Down Expand Up @@ -72,6 +71,7 @@ def send(self, to, *args, **kwargs):
self.cc = kwargs.pop('cc', [])
self.bcc = kwargs.pop('bcc', [])
self.reply_to = kwargs.pop('reply_to', [])
self.from_email = kwargs.pop('from_email', '')

super(BaseEmailMessage, self).send(*args, **kwargs)

Expand Down
19 changes: 18 additions & 1 deletion tests/test_mail.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
from django.contrib.sites.shortcuts import get_current_site
from django.core import mail
from django.test import RequestFactory, TestCase

from templated_mail.mail import BaseEmailMessage


Expand Down Expand Up @@ -186,3 +185,21 @@ def test_mail_reply_to_is_sent_with_valid_reply_to(self):
self.assertEqual(mail.outbox[0].body, 'Foobar email content')
self.assertEqual(mail.outbox[0].alternatives, [])
self.assertEqual(mail.outbox[0].content_subtype, 'plain')

def test_mail_from_email_is_sent_with_valid_from_email(self):
request = self.factory.get('/')
request.user = AnonymousUser()

from_email = '<Example - email@example.tld>'

BaseEmailMessage(
request=request, template_name='text_mail.html'
).send(to=self.recipients, from_email=from_email)

self.assertEqual(len(mail.outbox), 1)
self.assertEqual(mail.outbox[0].to, self.recipients)
self.assertEqual(mail.outbox[0].from_email, from_email)
self.assertEqual(mail.outbox[0].subject, 'Text mail subject')
self.assertEqual(mail.outbox[0].body, 'Foobar email content')
self.assertEqual(mail.outbox[0].alternatives, [])
self.assertEqual(mail.outbox[0].content_subtype, 'plain')

0 comments on commit 6d12a4a

Please sign in to comment.