From 705331f6742bb27691c6ea0e557f449a93d70284 Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Fri, 12 Dec 2025 15:14:58 +0100 Subject: [PATCH] [MIG] base_mail_sender_bcc: make base_mail_sender_bcc work again ! --- base_mail_sender_bcc/__manifest__.py | 5 +---- base_mail_sender_bcc/models/ir_mail_server.py | 12 +++++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/base_mail_sender_bcc/__manifest__.py b/base_mail_sender_bcc/__manifest__.py index 5c894d4..caae967 100644 --- a/base_mail_sender_bcc/__manifest__.py +++ b/base_mail_sender_bcc/__manifest__.py @@ -17,8 +17,5 @@ With this module, when Odoo sends an outgoing email, it adds the sender as Bcc ( 'author': 'Akretion', 'website': 'https://github.com/akretion/odoo-usability', 'depends': ['base'], - # I set it to False, because this module doesn't work because of send_validated_to in context - # cf method _prepare_email_message() - # We should now use the module mail_composer_cc_bcc from OCA/social (moved to OCA/mail) - 'installable': False, + 'installable': True, } diff --git a/base_mail_sender_bcc/models/ir_mail_server.py b/base_mail_sender_bcc/models/ir_mail_server.py index d19f50a..f14a366 100644 --- a/base_mail_sender_bcc/models/ir_mail_server.py +++ b/base_mail_sender_bcc/models/ir_mail_server.py @@ -2,7 +2,7 @@ # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models +from odoo import models, tools class IrMailServer(models.Model): @@ -25,3 +25,13 @@ class IrMailServer(models.Model): message_id=message_id, references=references, object_id=object_id, subtype=subtype, headers=headers, body_alternative=body_alternative, subtype_alternative=subtype_alternative) + + def _prepare_email_message(self, message, smtp_session): + validated_to = self.env.context.get('send_validated_to') or [] + if message['Bcc']: + email_bcc_normalized = tools.email_normalize_all(message['Bcc']) + for email in email_bcc_normalized: + if email not in validated_to: + validated_to.append(email) + return super(IrMailServer, self.with_context(send_validated_to=validated_to))._prepare_email_message( + message, smtp_session)