mirror of
https://github.com/pacnpal/django-anymail.git
synced 2025-12-20 03:41:05 -05:00
Fix empty strings in AnymailInboundMessage from/to/cc
Fix AnymailInboundMessage.to, .cc, .from_email when message was built with AnymailInboundMessage.construct using empty strings for those params. (Postmark inbound relies on this.) Fixes #307
This commit is contained in:
@@ -33,6 +33,9 @@ vNext
|
|||||||
Fixes
|
Fixes
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
|
* **Postmark:** Fix spurious AnymailInvalidAddress in ``message.cc`` when
|
||||||
|
inbound message has no Cc recipients. (Thanks to `@Ecno92`_.)
|
||||||
|
|
||||||
* **Postmark:** Workaround for handling inbound test webhooks.
|
* **Postmark:** Workaround for handling inbound test webhooks.
|
||||||
(`More info <https://github.com/anymail/django-anymail/issues/304>`__)
|
(`More info <https://github.com/anymail/django-anymail/issues/304>`__)
|
||||||
|
|
||||||
@@ -1428,6 +1431,7 @@ Features
|
|||||||
.. _@dgilmanAIDENTIFIED: https://github.com/dgilmanAIDENTIFIED
|
.. _@dgilmanAIDENTIFIED: https://github.com/dgilmanAIDENTIFIED
|
||||||
.. _@dimitrisor: https://github.com/dimitrisor
|
.. _@dimitrisor: https://github.com/dimitrisor
|
||||||
.. _@dominik-lekse: https://github.com/dominik-lekse
|
.. _@dominik-lekse: https://github.com/dominik-lekse
|
||||||
|
.. _@Ecno92: https://github.com/Ecno92
|
||||||
.. _@erikdrums: https://github.com/erikdrums
|
.. _@erikdrums: https://github.com/erikdrums
|
||||||
.. _@ewingrj: https://github.com/ewingrj
|
.. _@ewingrj: https://github.com/ewingrj
|
||||||
.. _@fdemmer: https://github.com/fdemmer
|
.. _@fdemmer: https://github.com/fdemmer
|
||||||
|
|||||||
@@ -113,7 +113,10 @@ class AnymailInboundMessage(Message):
|
|||||||
"""
|
"""
|
||||||
values = self.get_all(header)
|
values = self.get_all(header)
|
||||||
if values is not None:
|
if values is not None:
|
||||||
values = parse_address_list(values)
|
if "".join(values).strip() == "":
|
||||||
|
values = None
|
||||||
|
else:
|
||||||
|
values = parse_address_list(values)
|
||||||
return values or []
|
return values or []
|
||||||
|
|
||||||
def get_date_header(self, header):
|
def get_date_header(self, header):
|
||||||
|
|||||||
@@ -307,6 +307,12 @@ class AnymailInboundMessageConveniencePropTests(SimpleTestCase):
|
|||||||
self.assertEqual(msg.to, [])
|
self.assertEqual(msg.to, [])
|
||||||
self.assertEqual(msg.cc, [])
|
self.assertEqual(msg.cc, [])
|
||||||
|
|
||||||
|
# Empty strings
|
||||||
|
msg = AnymailInboundMessage.construct(from_email="", to="", cc="")
|
||||||
|
self.assertIsNone(msg.from_email)
|
||||||
|
self.assertEqual(msg.to, [])
|
||||||
|
self.assertEqual(msg.cc, [])
|
||||||
|
|
||||||
def test_body_props(self):
|
def test_body_props(self):
|
||||||
msg = AnymailInboundMessage.construct(text="Test plaintext", html="Test HTML")
|
msg = AnymailInboundMessage.construct(text="Test plaintext", html="Test HTML")
|
||||||
self.assertEqual(msg.text, "Test plaintext")
|
self.assertEqual(msg.text, "Test plaintext")
|
||||||
|
|||||||
Reference in New Issue
Block a user