diff --git a/sf_base/commons/Email.py b/sf_base/commons/Email.py new file mode 100644 index 00000000..d55fda9e --- /dev/null +++ b/sf_base/commons/Email.py @@ -0,0 +1,27 @@ +from odoo import api, models + + +class MailSender(models.Model): + _name = 'mail.sender' + _description = 'Mail Sender' + + def mail_sender(self, mail_server_name, subject_name, email_to, error_message): + mail_server = self.env['ir.mail_server'].sudo().search([('name', '=', mail_server_name)], limit=1) + if not mail_server: + _logger.info('管理员还未配置名称为 %s 的smtp服务器信息,请联系管理员配置!' % mail_server_name) + return + if not mail_server.smtp_user or not mail_server.smtp_pass: + _logger.info("邮件发送账号未正确设置,请联系管理员!") + return + mail_values = { + 'message_type': 'email', 'subject': subject_name, + 'mail_server_id': mail_server.id, 'email_from': mail_server.smtp_user, + 'email_to': email_to + } + temp_mail_html = """ + Hi,
这里是异常提醒通知:
+ """ + + temp_mail_html += """ %s """ % error_message + mail_values['body_html'] = temp_mail_html + self.env['mail.mail'].sudo().create(mail_values).send(auto_commit=True)