diff --git a/mail_composer_cc_bcc/models/mail_mail.py b/mail_composer_cc_bcc/models/mail_mail.py index 95d4c3556..cc0bb4f4f 100644 --- a/mail_composer_cc_bcc/models/mail_mail.py +++ b/mail_composer_cc_bcc/models/mail_mail.py @@ -34,7 +34,8 @@ class MailMail(models.Model): ICP = env["ir.config_parameter"].sudo() # Mail composer only sends 1 mail at a time. is_out_of_scope = len(self.ids) > 1 - if is_out_of_scope or not (self.email_cc or self.email_bcc): + is_from_composer = self.env.context.get("is_from_composer", False) + if is_out_of_scope or not is_from_composer: return super()._send( auto_commit=auto_commit, raise_exception=raise_exception, diff --git a/mail_composer_cc_bcc/tests/test_mail_cc_bcc.py b/mail_composer_cc_bcc/tests/test_mail_cc_bcc.py index 49f44094c..0271eeee3 100644 --- a/mail_composer_cc_bcc/tests/test_mail_cc_bcc.py +++ b/mail_composer_cc_bcc/tests/test_mail_cc_bcc.py @@ -178,3 +178,24 @@ Test Template

""", # Only 4 partners notified self.assertEqual(len(message.notified_partner_ids), 4) self.assertEqual(len(message.notification_ids), 4) + + def test_mail_without_cc_bcc(self): + # Test without any partner in cc/bcc -> only 1 mail should be sent + self.set_company() + form = self.open_mail_composer_form() + subject = "Testing without cc/bcc single mail" + form.subject = subject + composer = form.save() + composer.partner_cc_ids = None + composer.partner_bcc_ids = None + composer.partner_ids = self.partner + self.partner_cc + ctx = {"mail_notify_force_send": True} + ctx.update(composer.env.context) + composer = composer.with_context(**ctx) + with self.mock_mail_gateway(): + composer._action_send_mail() + sent_mails = 0 + for mail in self._mails: + if subject == mail.get("subject"): + sent_mails += 1 + self.assertEqual(sent_mails, 1)