跳至內容
選單
此問題已被標幟
1 回覆
5235 瀏覽次數

Is it possible to get default recipients when sending mail (Actually , only Administrator is shown) ?


def action_send(self):
        mail_template = self.env.ref('hr_test.my_email_template')
        mail_template.send_mail(self.id, force_send=True)

        partners = []
        if self.applicant_id and self.applicant_id.user_id:
            partners.append(self.applicant_id.user_id.partner_id.id)
        partners = partners + [user.partner_id.id for user in
                               self.env.ref('hr_training.training_officer').users if
                               user.partner_id.id not in partners]
        for rec in self:
            if rec.applicant_id and rec.applicant_id.parent_id:
                parent = rec.applicant_id.parent_id
                if parent.user_id and parent.user_id.partner_id.id not in partners:
                    partners.append(parent.user_id.partner_id.id)

        for partner in partners:
            mail_template.send_mail(self.id, force_send=True,
            raise_exception=True,
            email_values={'email_to': partner})

頭像
捨棄
最佳答案

Before call send_mail method, email_to email values list of usee email ID. JOIN IN STRING WITH COMMA in python code and assign to email values and after send_mail method call.

Example,

https://www.odoo.com/forum/help-1/question/how-to-set-email-to-in-email-template-dynamically-129618

頭像
捨棄
作者

@Prakash , I try this , but I got error ( 'email_to': ','.join(partner)

TypeError: can only join an iterable)

email_values = {

'email_to': ','.join(partner)

}

mail_template.send_mail(self.id, force_send=True,

raise_exception=True, email_values=email_values)

Email address field assign to email_to. If single email ID, directly assign object name dot field name. Example, parter.email make sure email id is printing successfully. If multiple id in that case list of email id using JOIN as STRING WITH COMMA.

相關帖文 回覆 瀏覽次數 活動
2
8月 25
2523
3
2月 25
3829
0
5月 24
46
1
4月 24
3523
4
9月 23
5071