我使用以下代码访问电子邮件模板并发送邮件。它工作正常,但执行代码后花了很长时间(30到60分钟)来发送邮件。我不知道如何解决这个问题?建议任何解决方案!!谢谢。
sen_mail.py
@api.multi
def send_email(self,invoice_id):
invoice_data = self.env['account.invoice'].browse(invoice_id)
email_template_obj = self.env['email.template']
template_id = self.env.ref('multi_db.email_template_subscription_invoice', False)
if template_id:
values = email_template_obj.generate_email(template_id.id,invoice_id)
values['subject'] = 'Invoice for AMS registration'
values['email_to'] = invoice_data.partner_id.email
values['partner_to'] = invoice_data.partner_id
mail_obj = self.env['mail.mail']
msg_id = mail_obj.create(values)
if msg_id:
mail_obj.send([msg_id])
return True
答案 0 :(得分:0)
终于得到了解决方案。
我在设置中更改了Interval Number
和Interval Unit
- >技术 - >自动化 - >预定行动。
答案 1 :(得分:0)
卡比尔
是的,您确定可以增加电子邮件频率,以便从外发电子邮件队列中更快地发送电子邮件,但如果您想立即发送电子邮件而不等待,那么您也可以使用以下代码:
@api.multi
def send_email(self,invoice_id):
invoice_data = self.env['account.invoice'].browse(invoice_id)
email_template_obj = self.env['email.template']
template_id = self.env.ref('multi_db.email_template_subscription_invoice', False)
if template_id:
template_id.send_mail(invoice_id, force_send=False, raise_exception=False)
return True
这将无需等待即可发送电子邮件。
贝斯茨