学习python自动化运维的第三天
今天主要的学习内容为邮箱发送邮件各种形式的邮件,通过smtplib模块实现。用email模块进行修饰。
如有需要的小伙伴,复制代码,解锁对应的代码块,在定义邮箱的位置添加对应的邮箱号即可,接收方可以添加多个邮箱(列表的形式)。
"""python自动化运维,学习的第三天"""
"""发送电子邮件模块 smtplib"""
# # 向QQ邮箱发送邮件,纯文本格式
# import smtplib
# from email.mime.text import MIMEText
# HOST = "smtp.qq.com" # 设置邮箱服务器,该服务器要与发送使用邮箱地址保持一致,如发送的邮箱为163邮箱,可用smtp.163.com
# SUBJECT = "Test email from python" # 设置主题
# TO = ["xxxxxxxxxx@qq.com"] # 设置发送群体,可支持多用户发送
# FROM = "yyyyyyyyyy@qq.com" # 设置发送邮箱的账号
# text = "Python rules them all!" # 设置发送邮件的内容
# BODY = MIMEText(text,'plain','utf-8') # 设置发送邮件的格式,第一个参数为文本内容,第二个为文本格式(当前为纯文本格式,还可以使用的参数有html),第三个为编码格式
# BODY["From"] = FROM
# BODY["To"] = ';'.join(TO)
# BODY["Subject"] = SUBJECT
# BODY = BODY.as_string() # as_string()方法来自MIMEText的父类Message,作用是把MIMEText对象变成字符串
# server = smtplib.SMTP(HOST,25) # 实例化一个发送对象
# server.login(FROM,"邮箱授权码") # 邮箱授权码不是登录密码,需要申请
# server.set_debuglevel(1) #打印出和SMTP服务器的交互信息。
# server.sendmail(FROM,TO,BODY) # 邮件发送
# server.quit() # 关闭服务
# # 向QQ邮箱发送邮件,html格式
# import smtplib
# from email.mime.text import MIMEText
# HOST = "smtp.qq.com" # 设置邮箱服务器,该服务器要与发送使用邮箱地址保持一致
# SUBJECT = "Test email from python" # 设置主题
# TO = ["xxxxxxxxxx@qq.com"] # 设置发送群体,可支持多用户发送
# FROM = "yyyyyyyyyy@qq.com" # 设置发送邮箱的账号
# text = """
# <table width="800" border="0" cellspacing="10" cellpadding="4">
# <tr>
# <td bgcolor="#CECFAD" height="20" style="font: size 14px">* 官网数据
# <a href="https://www.baidu.com">更多>></a></td>
# </tr>
# <tr>
# <td bgcolor="#EFEBDE" height="100" style="font: size 13px;">
# 1)日访问量:<font color="red">152433</font> 访问次数:123 页面浏览量:45678
# 点击量:7895663 数据流量:785232<br>
# 2)状态码信息<br>
# 500:105 404:3264 503:214<br>
# 3)访客浏览器信息<br>
# IE:50% firefox:10% chrome:30% other:10%<br>
# 4)页面信息<br>
# /index.php 123456<br>
# /view.php 345<br>
# /longin.php 5678<br>
# </td>
# </tr>
# </table>
# """ # 设置发送邮件的内容
# msg = MIMEText(text,"html","utf-8")
# msg["From"] = FROM
# msg["To"] = ';'.join(TO)
# msg["Subject"] = SUBJECT
# msg = msg.as_string() # as_string()方法来自MIMEText的父类Message,作用是把MIMEText对象变成字符串
# server = smtplib.SMTP(HOST,25) # 实例化一个发送对象
# server.login(FROM,邮箱授权码") # 邮箱授权码不是登录密码,需要申请
# server.set_debuglevel(1) #打印出和SMTP服务器的交互信息。
# server.sendmail(FROM,TO,msg) # 邮件发送
# server.quit() # 关闭服务
# # 向QQ邮箱发送邮件,html格式,并且添加图片元素
# import smtplib
# from email.mime.multipart import MIMEMultipart
# from email.mime.text import MIMEText
# from email.mime.image import MIMEImage
# HOST = "smtp.qq.com" # 设置邮箱服务器,该服务器要与发送使用邮箱地址保持一致
# SUBJECT = u"业务性能数据报表" # 设置主题
# TO = ["xxxxxxxxxx@qq.com"] # 设置发送群体,可支持多用户发送
# FROM = "yyyyyyyyyy@qq.com" # 设置发送邮箱的账号
# text = """
# <table width="800" border="0" cellspacing="10" cellpadding="4">
# <tr bgcolor="#CECFAD" height="20" style="font-size: 14px;">
# <td colspan="2">*官网性能数据 <a href="https://www.baidu.com">更多>></a></td>
# </tr>
# <tr bgcolor="#EFEBDE" height="100" style="font-size:13px;">
# <td>
# <img src="cid:io"></td><td>
# <img src="cid:key_hit"></td>
# </tr>
# <tr bgcolor="#EFEBDE" height="100" style="font-size: 13px;">
# <td>
# <img src="cid:men"></td><td>
# <img src="cid:swap"></td>
# </tr>
# </table>
# """ # html代码
# def addimg(src,imgid): # 图片处理函数
# fp = open(src,"rb")
# msgImage = MIMEImage(fp.read())
# fp.close()
# msgImage.add_header("Content-ID",imgid)
# return msgImage
# msg = MIMEMultipart("related")
# msgtext = MIMEText(text,"html","utf-8")
# msg.attach(msgtext)
# msg.attach(addimg("img/photo1.png","io"))
# msg.attach(addimg("img/photo2.png","key_hit"))
# msg.attach(addimg("img/photo3.png","men"))
# msg.attach(addimg("img/photo4.png","swap"))
# msg["From"] = FROM
# msg["To"] = ';'.join(TO)
# msg["Subject"] = SUBJECT
# # print(msg)
# msg = msg.as_string() # as_string()方法来自MIMEText的父类Message,作用是把MIMEText对象变成字符串
# try:
# server = smtplib.SMTP(HOST,25) # 实例化一个发送对象
# server.login(FROM,"邮箱授权码") # 邮箱授权码不是登录密码,需要申请
# # server.set_debuglevel(1) #打印出和SMTP服务器的交互信息。
# server.sendmail(FROM,TO,msg) # 邮件发送
# server.quit() # 关闭服务
# print("发送成功!")
# except Exception as e:
# print("发送失败",e)
每天学习的时间受工作影响,时多时少,但是希望自己可以一直更新下去,增加自己知识的同时,可以给各位网友带来一定的帮助。
因为是个人的学习内容,可能有很多地方的注释不正确,希望发现问题的网友能够及时给予指正,我是非常欢迎的。有不懂的地方以可以评论区留言,一起学习进步,欢迎各位python大佬留言。