From 3715104e987beb125cb54ba27ccb4bb06148937a Mon Sep 17 00:00:00 2001 From: David Beguin Date: Wed, 14 Nov 2018 11:01:20 +0000 Subject: [PATCH] [FIX] mass_mailing : returns set of normalized email in _get_opt_out_list If a recipient has a formatted email address like 'A ', the returned opt_out list must contain normalized email ('a@b.com') in order to be comparable during the get_mail_values of the mail.compose.message. Otherwize, It won't match. Task ID : 1909314 Closes PR #28667 --- addons/mass_mailing/models/mass_mailing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/mass_mailing/models/mass_mailing.py b/addons/mass_mailing/models/mass_mailing.py index 0e146197260..72f6b71b5e9 100644 --- a/addons/mass_mailing/models/mass_mailing.py +++ b/addons/mass_mailing/models/mass_mailing.py @@ -767,7 +767,8 @@ class MassMailing(models.Model): [('list_id', 'in', self.contact_list_ids.ids)]) opt_out_contacts = target_list_contacts.filtered(lambda rel: rel.opt_out).mapped('contact_id.email') opt_in_contacts = target_list_contacts.filtered(lambda rel: not rel.opt_out).mapped('contact_id.email') - opt_out = set(c for c in opt_out_contacts if c not in opt_in_contacts) + normalized_email = [tools.email_split(c) for c in opt_out_contacts if c not in opt_in_contacts] + opt_out = set(email[0].lower() for email in normalized_email if email) _logger.info( "Mass-mailing %s targets %s, blacklist: %s emails",