0

我有一个电子邮件模板,每当创建新记录时都会发送该模板。这封电子邮件只发送给一个人,因为我在 email_to 字段中只指定了一个电子邮件 ID。

我还为用户创建了一个自定义组。我想通过在创建新记录后反复检查电子邮件 ID 是否存在来向用户组的所有用户发送电子邮件通知。如何从电子邮件模板的 email_to 字段中的用户组中获取用户的电子邮件 ID 并自动发送?

4

3 回答 3

2

在您的邮件模板中

<field name="email_to">${object.get_email_to()}</field>

像这样的python方法

@api.model
def get_email_to(self):
    user_group = self.env.ref("res.group_res_user")
    email_list = [
        usr.partner_id.email for usr in user_group.users if usr.partner_id.email]
    return ",".join(email_list)

希望这能很好地满足您的要求..

于 2019-04-11T05:30:16.093 回答
1

首先你像这样覆盖你的模型创建方法..

@api.model
def create(self, vals):
    res = super(ClassName, self).create(vals)
    template = self.env.ref('module_name.template_id')
    template.send_mail(res.id, force_send=True)
    return res

它将从创建新记录发送邮件。您可以从记录中定义您想要的邮件模板中的 to_email。

于 2019-04-09T05:39:41.360 回答
0

首先创建一个字段(根据您更改字段名称):

student_mail=fields.Char(compute="get_email_to")

在声明一个函数之后:

def get_email_to(self):
    mail_id= self.env['school.management'].search([])

    filter_mail = [i.email for i in mail_id if i.college_id]
    self.student_mail=",".join(filter_mail)
    result=",".join(filter_mail)
    self.student_mail=result.replace('"','')

在 XML 中:

<field name="email_to">${object.student_mail}</field>

就我而言,我根据大学 ID 过滤学生基础......

于 2021-06-25T13:28:07.867 回答