以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
可以使用Odoo提供的mail.compose.message模块来发送邮件,并在该模块中设置attachment_ids参数为空列表即可去掉邮件中的附件。具体操作步骤如下:
- 导入mail.compose.message模块
from odoo.addons.mail.models.mail_template import mail_template
- 获取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
注意,这里只是一个示例代码,具体参数需要根据实际情况进行修改。