增加邮件发送公用类
This commit is contained in:
27
sf_base/commons/Email.py
Normal file
27
sf_base/commons/Email.py
Normal file
@@ -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, <p> 这里是异常提醒通知: </p>
|
||||
"""
|
||||
|
||||
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)
|
||||
Reference in New Issue
Block a user