diff options
author | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-11-26 15:49:54 -0200 |
---|---|---|
committer | Jefferson Stachelski <jstachel@thoughtworks.com> | 2015-11-26 15:49:54 -0200 |
commit | e889a46fdf1b38fcbc9a8338fd2948e564d993cf (patch) | |
tree | f82dca3b5ba13f7d56cbc931453d5a5de349be6b | |
parent | 243464b44bbc4d78f4c5aa79b4c70b7444456677 (diff) |
Issue #532 - Removing name from canonical address
Now the canonical mail address are been parsed to a common one, but it
is a Twisted smtp bug that should be fixed in the future
-rw-r--r-- | service/pixelated/adapter/services/mail_sender.py | 5 | ||||
-rw-r--r-- | service/test/unit/adapter/services/test_mail_sender.py | 14 |
2 files changed, 19 insertions, 0 deletions
diff --git a/service/pixelated/adapter/services/mail_sender.py b/service/pixelated/adapter/services/mail_sender.py index 8ccfc5a2..4499adbd 100644 --- a/service/pixelated/adapter/services/mail_sender.py +++ b/service/pixelated/adapter/services/mail_sender.py @@ -91,4 +91,9 @@ class MailSender(object): int(self._smtp_config.remote_smtp_port)) def _create_twisted_smtp_recipient(self, recipient): + # TODO: Better is fix Twisted instead + recipient = self._remove_canonical_recipient(recipient) return User(str(recipient), NOT_NEEDED, NOT_NEEDED, NOT_NEEDED) + + def _remove_canonical_recipient(self, recipient): + return recipient.split('<')[1][0:-1] if '<' in recipient else recipient diff --git a/service/test/unit/adapter/services/test_mail_sender.py b/service/test/unit/adapter/services/test_mail_sender.py index 562f919d..cd4a84c3 100644 --- a/service/test/unit/adapter/services/test_mail_sender.py +++ b/service/test/unit/adapter/services/test_mail_sender.py @@ -100,3 +100,17 @@ class MailSenderTest(unittest.TestCase): for recipient in flatten([input_mail.to, input_mail.cc, input_mail.bcc]): verify(OutgoingMail).send_message(MailToSmtpFormatCapture(recipient, bccs), TwistedSmtpUserCapture(recipient)) + + def test_remove_canonical_recipient_when_it_is_not_canonical(self): + recipient = u'user@pixelated.org' + + non_canonical = self.sender._remove_canonical_recipient(recipient) + + self.assertEqual(recipient, non_canonical) + + def test_remove_canonical_recipient_when_it_is_canonical(self): + recipient = u'User <user@pixelated.org>' + + non_canonical = self.sender._remove_canonical_recipient(recipient) + + self.assertEqual(u'user@pixelated.org', non_canonical) |