ODOO15邮件发送时附件怎么去除掉?(语言-python)

业务中需要发送提醒邮件,但是发送的时候邮件里面总是带附件,试了各种参数都去不掉,望各位不吝赐教。
一下是部分发送代码

email_values = {
    'recipient_ids': [],
    'partner_ids': [],
    'scheduled_date': False,
}

for email in mail_list:
  email_values['email_cc'] = False
  email_values['email_to'] = email
  user_id = self.env['res.users'].search([('login', '=', 'admin')])
  template = self.env.ref('dependency_check.loophole_summary_mail_template').with_context(
    loophole_data=loophole_data)
  template.send_mail(user_id.id, force_send=True, email_values=email_values)

img

以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:

可以使用Odoo提供的mail.compose.message模块来发送邮件,并在该模块中设置attachment_ids参数为空列表即可去掉邮件中的附件。具体操作步骤如下:

  1. 导入mail.compose.message模块
from odoo.addons.mail.models.mail_template import mail_template
  1. 获取mail.compose.message模块,并设置attachment_ids参数为空列表
mail_values = {
    'subject': '邮件主题',
    'body_html': '邮件正文',
    'email_from': '发件人邮箱',
    'email_to': '收件人邮箱',
    'attachment_ids': []
}
mail_compose_message = self.env['mail.compose.message'].create(mail_values)
mail_compose_message.send_mail()

其中,mail_values为邮件相关的参数,attachment_ids为空列表即可去掉邮件中的附件。send_mail()方法会发送邮件。

完整代码示例:

from odoo import models

class MailTemplate(models.AbstractModel):
    _inherit = 'mail.template'

    def send_mail(self, res_id, force_send=False, raise_exception=False, email_values=None, notif_layout=False):
        # 获取mail.compose.message模块
        mail_compose_message = self.env['mail.compose.message'].with_context({
            'default_model': self.model,
            'default_res_id': res_id,
            'default_use_template': bool(self.id),
            'default_template_id': self.id,
            'default_composition_mode': 'mass_mail',
        })

        # 设置邮件参数
        mail_values = {
            'subject': '邮件主题',
            'body_html': '邮件正文',
            'email_from': '发件人邮箱',
            'email_to': '收件人邮箱',
            'attachment_ids': []
        }

        # 发送邮件
        mail_compose_message = mail_compose_message.with_context(notif_layout=notif_layout)
        mail_compose_message.write(mail_values)
        mail_compose_message.send_mail()

        return True

注意,这里只是一个示例代码,具体参数需要根据实际情况进行修改。