Search code examples
python-3.xodoo-12

Sending Email in Odoo Record does not exist


I'm trying to send email in subscription modules, where if subscription is expired in 3 days, costumer will be notified about his subscription

i have tried following in odoo forum but no one work

@api.multi
def subs_notify(self):
    mail_template = self.env['mail.template'].search([('id', '=', 67)])
    mail_template.write({'email_to': self.partner_id.email})
    if mail_template:
        mail_template.send_mail(self.partner_id.id, force_send=True, raise_exception=True)

odoo.exceptions.MissingError: ('Record does not exist or has been deleted.', None)


Solution

  • don't search your email template with ID, Search it by name or anything else this code will worked

    @api.multi
    def subs_notify(self):
            mail_template = self.env['mail.template'].search([('name', 'like', 'Confirm Your Email')])
            if mail_template:
                mail_template.write({
                    'email_to': self.partner_id.email,
                    })
                self.env['mail.template'].browse(mail_template.id).send_mail(self.id,force_send=True)
    

    if api.multi won't run, you must set your own trigger button,