Skip to content

Commit

Permalink
Refs #54, #55 -- check payload type before trimming
Browse files Browse the repository at this point in the history
  • Loading branch information
amureki committed Sep 25, 2023
1 parent 3689edf commit 0d166ce
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
5 changes: 3 additions & 2 deletions emark/backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,9 @@ class ConsoleEmailBackendMixin:

def write_message(self, message):
msg = message.message()
payload_count = len(msg.get_payload())
if payload_count > 1:
original_payload = msg.get_payload()
payload_count = len(original_payload)
if isinstance(original_payload, list):
msg.set_payload(msg.get_payload(0))
msg_data = msg.as_bytes()
charset = (
Expand Down
7 changes: 7 additions & 0 deletions tests/test_backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@

class TestConsoleEmailBackend:
def test_write_message(self):
msg = EmailMessage(body="foo\nbar")
with io.StringIO() as stream:
backends.ConsoleEmailBackend(stream=stream).write_message(msg)
stdout = stream.getvalue()
assert "foo\nbar" in stdout

def test_write_message__multi_alternatives(self):
msg = EmailMultiAlternatives(body="foo")
msg.attach_alternative("<html></html>", "text/html")
with io.StringIO() as stream:
Expand Down

0 comments on commit 0d166ce

Please sign in to comment.