diff --git a/modules/account_dunning_email/account.py b/modules/account_dunning_email/account.py index 563a6d74d7..45ed5ad901 100644 --- a/modules/account_dunning_email/account.py +++ b/modules/account_dunning_email/account.py @@ -149,9 +149,12 @@ class Dunning(metaclass=PoolMeta): if dunning.level.email_from: from_ = dunning.level.email_from set_from_header(msg, sender, from_) - msg['To'] = to - msg['Cc'] = cc - msg['Bcc'] = bcc + if to: + msg['To'] = to + if cc: + msg['Cc'] = cc + if bcc: + msg['Bcc'] = bcc msg['Subject'] = title msg['Auto-Submitted'] = 'auto-generated' return msg diff --git a/modules/notification_email/notification.py b/modules/notification_email/notification.py index a172d82e9c..3ae8d86b37 100644 --- a/modules/notification_email/notification.py +++ b/modules/notification_email/notification.py @@ -200,9 +200,12 @@ class Email(ModelSQL, ModelView): filename=('utf-8', '', name)) set_from_header(msg, sender, from_) - msg['To'] = to - msg['Cc'] = cc - msg['Bcc'] = bcc + if to: + msg['To'] = to + if cc: + msg['Cc'] = cc + if bcc: + msg['Bcc'] = bcc msg['Subject'] = title msg['Auto-Submitted'] = 'auto-generated' return msg diff --git a/modules/notification_email/tests/test_module.py b/modules/notification_email/tests/test_module.py index bf8a7c410c..78d9af0538 100644 --- a/modules/notification_email/tests/test_module.py +++ b/modules/notification_email/tests/test_module.py @@ -120,8 +120,8 @@ class NotificationEmailTestCase(CompanyTestMixin, ModuleTestCase): email, = Email.search([]) self.assertEqual(email.recipients, 'Administrator ') - self.assertEqual(email.recipients_secondary, '') - self.assertEqual(email.recipients_hidden, '') + self.assertEqual(email.recipients_secondary, None) + self.assertEqual(email.recipients_hidden, None) self.assertEqual(email.subject, 'Notification Email') self.assertEqual(email.resource, user) self.assertEqual(email.notification_email, notification_email) diff --git a/trytond/trytond/ir/email_.py b/trytond/trytond/ir/email_.py index f547b000c2..281428f471 100644 --- a/trytond/trytond/ir/email_.py +++ b/trytond/trytond/ir/email_.py @@ -153,9 +153,12 @@ class Email(ResourceAccessMixin, ModelSQL, ModelView): filename=('utf-8', '', name)) from_ = config.get('email', 'from') set_from_header(msg, from_, user.email or from_) - msg['To'] = [format_address(a, n) for n, a in getaddresses([to])] - msg['Cc'] = [format_address(a, n) for n, a in getaddresses([cc])] - msg['Bcc'] = [format_address(a, n) for n, a in getaddresses([bcc])] + if to: + msg['To'] = [format_address(a, n) for n, a in getaddresses([to])] + if cc: + msg['Cc'] = [format_address(a, n) for n, a in getaddresses([cc])] + if bcc: + msg['Bcc'] = [format_address(a, n) for n, a in getaddresses([bcc])] msg['Subject'] = subject send_message_transactional(msg, strict=True)