Python 如何在Odoo 12中向多个用户(电子邮件地址)发送电子邮件模板
当调度程序在电子邮件中使用自定义数据运行时,我想向Odoo 12中的多个用户发送电子邮件。我在XML文件中创建了我的电子邮件模板。另外,我有一个方法,可以将我的所有电子邮件地址作为列表返回。如何在“email\u to”字段的电子邮件模板中循环此列表,获取所有电子邮件地址并将电子邮件发送到所有这些电子邮件 以下是我的电子邮件模板:Python 如何在Odoo 12中向多个用户(电子邮件地址)发送电子邮件模板,python,python-3.x,jinja2,odoo,odoo-12,Python,Python 3.x,Jinja2,Odoo,Odoo 12,当调度程序在电子邮件中使用自定义数据运行时,我想向Odoo 12中的多个用户发送电子邮件。我在XML文件中创建了我的电子邮件模板。另外,我有一个方法,可以将我的所有电子邮件地址作为列表返回。如何在“email\u to”字段的电子邮件模板中循环此列表,获取所有电子邮件地址并将电子邮件发送到所有这些电子邮件 以下是我的电子邮件模板: <?xml version="1.0" encoding="utf-8"?> <odoo> <data noupdate="1"
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="1">
<record id="repayment_due_date_reminder_email_template" model="mail.template">
<field name="name">Repayment Due Date Reminder Email Template</field>
<field name="email_from">admin@netlinks.af</field>
<field name="subject">Repayment Due Date Reminder</field>
<field name="email_to">${for email in object.get_groups_usesr_email():
}</field>
<field name="lang">${object.lang}</field>
<field name="model_id" ref="hr_payroll_advance_salary.model_loan_request"/>
<field name="body_html">
<![CDATA[
<p>The following loan installment is due for repayment:<br/>
Loan Recepient: ${(object.employee_id.name)}<br/>
Total Loan Amount: ${(object.loan_amount)} ${(object.currency)} <br/>
Installment Due: ${(object.loan_amount)} ${(object.currency)} <br/>
Repayment Date: ${(object.repayment_schedule_ids.repayment_date)} <br/>
You can view the loan record here for further details </p>
]]>
</field>
</record>
</data>
</odoo>
这就是返回电子邮件的方法:
@api.multi
def get_groups_usesr_email(self):
emails = []
user_ids = self.get_users_from_groups('group_nl_finance_manager')
emails = self.get_users_email('group_nl_finance_manager', user_ids)
user_ids = self.get_users_from_groups('group_nl_ceo')
new_emails = self.get_users_email('group_nl_ceo', user_ids)
for email in new_emails:
emails.append(email)
return emails
我这样做是为了向两个不同群组的所有用户发送电子邮件,我不确定这是不是合适的方式。有没有可能做我想做或不想做的事,或者可以用另一种方式来做?你可以使用群发邮件(电子邮件营销)
由奥多公司(Odoo S.A.)模块完成 我使用带有以下代码的电子邮件循环将电子邮件模板发送到所有电子邮件地址,在我的情况下效果很好
all_eamils = loan.get_groups_usesr_email()
for email in all_eamils:
template_rec = self.env.ref('hr_payroll_advance_salary.repayment_due_date_reminder_email_template')
template_rec.write({'email_to': email})
template_rec.send_mail(loan.id, force_send=True)
all_eamils = loan.get_groups_usesr_email()
for email in all_eamils:
template_rec = self.env.ref('hr_payroll_advance_salary.repayment_due_date_reminder_email_template')
template_rec.write({'email_to': email})
template_rec.send_mail(loan.id, force_send=True)