From 6e6ea2d428271c65a2ec3361e4dadc206512982b Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Tue, 27 Oct 2020 09:01:17 +0000 Subject: [PATCH] [FIX] website_mail_channel: _send_confirmation_email with company email MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Public user by default don't have email. So when you try to subscribe to a channel in public user (portal don't receive an email), the email cannot be send and the user see a message: "Unable to post message, please configure the sender's email address. closes odoo/odoo#60867 X-original-commit: 7e40af524cc1b23abab3140377d993f3e93c5cf0 Signed-off-by: Jérémy Kersten (jke) --- addons/website_mail_channel/models/mail_channel.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/website_mail_channel/models/mail_channel.py b/addons/website_mail_channel/models/mail_channel.py index e2d6a7a452b..a06fda8e0d5 100644 --- a/addons/website_mail_channel/models/mail_channel.py +++ b/addons/website_mail_channel/models/mail_channel.py @@ -19,7 +19,9 @@ class MailGroup(models.Model): return headers def _send_confirmation_email(self, partner_ids, unsubscribe=False): - base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url') + website = self.env['website'].get_current_website() + base_url = website.get_base_url() + route = "/groups/%(action)s/%(channel)s/%(partner)s/%(token)s" if unsubscribe: template = self.env.ref('website_mail_channel.mail_template_list_unsubscribe') @@ -38,9 +40,13 @@ class MailGroup(models.Model): 'partner': partner_id, 'token': token, }) - template.with_context(token_url=token_url).send_mail(self.id, + template.with_context(token_url=token_url).send_mail( + self.id, force_send=True, - email_values={'recipient_ids': [(4, partner_id)]} + email_values={ + 'recipient_ids': [(4, partner_id)], + 'email_from': website.company_id.email, + } ) return True