花很长时间发送邮件 - odoo 8

时间:2016-10-25 11:11:16

标签: email time openerp odoo-8

我使用以下代码访问电子邮件模板并发送邮件。它工作正常,但执行代码后花了很长时间(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

2 个答案:

答案 0 :(得分:0)

终于得到了解决方案。 我在设置中更改了Interval NumberInterval 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

这将无需等待即可发送电子邮件。

贝斯茨