From e889a46fdf1b38fcbc9a8338fd2948e564d993cf Mon Sep 17 00:00:00 2001 From: Jefferson Stachelski Date: Thu, 26 Nov 2015 15:49:54 -0200 Subject: 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 --- service/pixelated/adapter/services/mail_sender.py | 5 +++++ service/test/unit/adapter/services/test_mail_sender.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+) (limited to 'service') 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 ' + + non_canonical = self.sender._remove_canonical_recipient(recipient) + + self.assertEqual(u'user@pixelated.org', non_canonical) -- cgit v1.2.3