Enviar email (con plantilla) desde un botón en odoo 15
Es un ejemplo sencillo de como:
- Poner un botón en el formulario de contactos.
- Al hacer click enviar un email ya estandarizado usando mail.template.
Antes de empezar asegurate de que:
- Tienes configurado el correo de salida y te funciona.
- Mira cada cuanto tiempo se enviarn los mails en Odoo (normalmente es una hora... pero para pruebas bájalo a 1 minuto en Técnico/Acciones planificadas.
Una vez instalado, te vas a un contactos y entras en unos de ellos y verás un magnifico botón nuevo para enviar tu email.
El módulo tienes que llamarlo send_email.
Nos creamos una vista con el código del botón. El fichero lo podemos llamar views.xml y lo depositamos en carpeta views :
Nos creamos la plantilla del correo que vamos a enviar:
Nos creamos el modelo que realiza la acción:# -*- encoding: utf-8 -*-
from odoo import models, fields, api
class res_partner(models.Model):
_inherit = 'res.partner'
def send_mail_template(self):
# Busca la plantilla del correo
template = self.env.ref('send_email.example_email_template')
# También puedes usar algo como esto:
# template = self.env['ir.model.data'].get_object('mail_template_demo', 'example_email_template')
# Envias el correo
self.env['mail.template'].browse(template.id).send_mail(self.id)