通常情况想,我们希望执行完一套的自动化脚本后能够顺带的将自动化脚本发送给指定的某些人查看执行结果,于是需要在脚本执行完毕后去执行发送邮件的脚本,将生成的报告作为附件发送出去。
期初本人参考的文档是https://www.cnblogs.com/liyanqi/p/7885014.html
其源码如下:
#!/user/bin/python
# -*- coding:utf-8 -*-
import
smtplib
from
email.mime.base
import
MIMEBase
from
email.mime.text
import
MIMEText
from
email.mime.multipart
import
MIMEMultipart
from
email.header
import
Header
from
email
import
encoders
# Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
def
get_email_obj(email_subject, email_from, to_addr_list):
'''
构造邮件对象,并设置邮件主题、发件人、收件人,最后返回邮件对象
:param email_subject:邮件主题
:param email_from:发件人
:param to_addr_list:收件人列表
:return :邮件对象 email_obj
'''
# 构造 MIMEMultipart 对象做为根容器
email_obj
=
MIMEMultipart()
email_to
=
','
.join(to_addr_list)
# 将收件人地址用“,”连接
# 邮件主题、发件人、收件人
email_obj[
'Subject'
]
=
Header(email_subject,
'utf-8'
)
email_obj[
'From'
]
=
Header(email_from,
'utf-8'
)
email_obj[
'To'
]
=
Header(email_to,
'utf-8'
)
return
email_obj
def
attach_content(email_obj, email_content, content_type
=
'plain'
, charset
=
'utf-8'
):
'''
创建邮件正文,并将其附加到跟容器:邮件正文可以是纯文本,也可以是HTML(为HTML时,需设置content_type值为 'html')
:param email_obj:邮件对象
:param email_content:邮件正文内容
:param content_type:邮件内容格式 'plain'、'html'..,默认为纯文本格式 'plain'
:param charset:编码格式,默认为 utf-8