我们有一个wordpress网站,允许用户通过提供他们的电子邮件地址下载软件安装程序进行试用。
下载后,我们将收到来自wordpress网站的电子邮件通知。因此,在接下来的几周内,我们将手动向下载软件的人发送电子邮件(包含教程和有用信息)。
我想自动执行此预定的电子邮件发送。我想用odoo 10做这件事。这可能在odoo 10吗?如果是这样,我该如何以及从何处开始?
是的,有可能在Odoo。您需要按照以下步骤操作。
创建计划程序。这将创建一个调度程序视图。您可以在设置 - >自动化 - >计划操作下看到此信息
<record id="ir_send_mail_cron_scheduler_action" model="ir.cron">
<field name="name">Followup Mail scheduler</field>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
<field eval="'crm.lead'" name="model"/>
<field eval="'send_followup_mail'" name="function"/>
</record>
在crm.lead
对象中,您需要创建一个函数,您可以从中调用模板。在此之前,您有一个one2many字段,其中附有您的电子邮件模板,以便您可以从中获取电子邮件模板。
@api.multi
def send_followup_mail(self):
# write your logic to find the time intervals(day 1, day 2, week)
# based on the time interval trigger the mails.
# use a loop to get the mail template id from the one2many
mail_template = self.env['mail.template'].browse(template_id)
mail_template.write({'email_to': self.email})
#this will trigger the mail
if mail_template:
mail_template.send_mail(self.id, force_send=True, raise_exception=True)
当您创建邮件模板时,它还有一个名为“scheduled_date”的char字段,您可以在其中添加python代码,例如${(datetime.datetime.now() + relativedelta(days=3)).strftime('%Y-%m-%d %H:%M')}
这意味着从此模板创建的电子邮件将在3天后发送。
$ {}用于jinja模板引擎