diff --git a/addons/mail/wizard/mail_compose_message.py b/addons/mail/wizard/mail_compose_message.py index 649a17f4ab5..887ec724d53 100644 --- a/addons/mail/wizard/mail_compose_message.py +++ b/addons/mail/wizard/mail_compose_message.py @@ -369,7 +369,11 @@ class MailComposer(models.TransientModel): reply_to_value = dict.fromkeys(res_ids, None) if mass_mail_mode and not self.reply_to_force_new: records = self.env[self.model].browse(res_ids) - reply_to_value = records._notify_get_reply_to(default=self.email_from) + reply_to_value = records._notify_get_reply_to(default=False) + # when having no specific reply-to, fetch rendered email_from value + for res_id, reply_to in reply_to_value.items(): + if not reply_to: + reply_to_value[res_id] = rendered_values.get(res_id, {}).get('email_from', False) for res_id in res_ids: # static wizard (mail.message) values diff --git a/addons/test_mail/tests/test_mail_composer.py b/addons/test_mail/tests/test_mail_composer.py index 7373550c453..aa329d94521 100644 --- a/addons/test_mail/tests/test_mail_composer.py +++ b/addons/test_mail/tests/test_mail_composer.py @@ -1090,7 +1090,6 @@ class TestComposerResultsMass(TestMailComposer): 'body_content': 'TemplateBody %s' % record.name, 'email_from': self.partner_employee_2.email_formatted, 'subject': 'TemplateSubject %s' % record.name, - }, fields_values={ 'email_from': self.partner_employee_2.email_formatted, @@ -1129,11 +1128,11 @@ class TestComposerResultsMass(TestMailComposer): author=self.partner_employee, email_values={ 'email_from': self.partner_employee_2.email_formatted, - # 'reply_to': self.partner_employee_2.email_formatted, FIXME: currently failing (unrendered jinja) + 'reply_to': self.partner_employee_2.email_formatted, }, fields_values={ 'email_from': self.partner_employee_2.email_formatted, - # 'reply_to': self.partner_employee_2.email_formatted, # FIXME: currently failing (unrendered jinja) + 'reply_to': self.partner_employee_2.email_formatted, }, )