Como mandar Mails

20 de junio de 2023 por
Andres Dawidowicz
| Sin comentarios aún
 

En primer lugar tenemos que crear una plantilla al modelo mail.template, esto lo podemos hacer por un módulo o yendo al menú Ajustes=>técnico=>Plantillas de Correo Electrónico.

Si lo hacemos por módulo lo podemos crear en la carpeta data el xml para que se importe en el modelo de plantillas, algo parecido a este ejemplo. No olvidarse de habilitar la ruta del archivo en el __manyfest__.py

<record id="email_template_credit_limit" model="mail.template"> 
<field name="name">Enviar notificación de crédito</field>
<field name="model_id" ref="indv_limit_credit.model_credit_limit"/>
<field name="subject">Crédito</field> <field name="email_from"></field>
<field name="email_to"></field>
<field name="body_html" type="xml">
<div>
<strong><p align="center">ESTO ES UNA PRUEBA</p></strong>
</div>
</field> <field name="lang">${user.lang}</field>
<field name="auto_delete" eval="False"/>
</record>

Donde para ver la referencia hay que entrar a módulos, elegir el módulo que nos sirve de base para enviar el mail y ver el ID de los METADATOS.

Si lo hacemos editando la plantilla dentro de Odoo, creamos una nueva y elegimos el modelo base, en este ejemplo "CONTACTOS", ponemos el contenido. Es muy amigable Odoo para poner el contenido, igual al sitio Web, se puede insertar bloques, enlaces, imágenes, etc. También podemos usar las propiedades del modelo para que aparezca cada mail personalizado.

Una vez que tenemos la plantilla hecha en una función de Odoo podemos buscar la plantilla y enviarla, por ejemplo la plantilla que definimos recién, "Mail Facturas Nuevas" la buscamos y queda en el objeto mail_tmpl y recorremos todos los partners y hacemos un envío de mail para cada cliente.

    @api.model
def process_example_mails(self):
partners = self.env['res.partner'].search([])
mail_tmpl = self.env['mail.template'].search([('name','=','Mail Facturas Nuevas')])
if mail_tmpl:
for partner in partners:
mail_tmpl.send_mail(partner.id, force_send=True)


Andres Dawidowicz 20 de junio de 2023
Compartir
Archivar
Identificarse dejar un comentario