【发布时间】:2018-03-21 00:38:44
【问题描述】:
我有以下扩展模型:
class ResPartner(models.Model):
_inherit = 'res.partner'
token = fields.Char('Change Password Token')
@api.one
def send_change_password_link(self):
template = self.env.ref('extended_respartner.ecommerce_password_change')
body = template.body_html
receipt_list=[self.email]
email_cc=[]
email_from=self.company_id.email
if template:
mail_values = {
'subject': template.subject,
'body_html': body,
'email_to':';'.join(map(lambda x: x, receipt_list)),
'email_cc':';'.join(map(lambda x: x, email_cc)),
'email_from': email_from,
}
create_and_send_email = self.env['mail.mail'].create(mail_values).send()
以及以下电子邮件模板:
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="ecommerce_password_change" model="mail.template">
<field name="name">Password Change</field>
<field name="model_id" ref="base.model_res_partner"></field>
<field name="lang">${object.lang}</field>
<field name="auto_delete" eval="False"/>
<field name="email_from">${object.company_id and object.company_id.email or ''}</field>
<field name="reply_to">${object.company_id and object.company_id.email or ''}</field>
<field name="email_to">${object.email}</field>
<field name="subject">Change Password ${object.token}</field>
<field name="body_html"><![CDATA[
<p>Dear Customer:</p>
<p>This is your token: ${object.token}</p>
]]></field>
</record>
</odoo>
但它不会用它的值代替${object.token}。其余标题已正确填充。有什么建议吗?
【问题讨论】:
-
如果要基于邮件模板发送邮件,为什么不使用
email.template模型的send_mail方法,而不是mail.mail中的send呢?跨度> -
@forvas 我使用来自
email.template的send_mail并且它有效。我在互联网上关注了错误的信息
标签: python xml odoo odoo-10 qweb