Python实现报表自动化和自动发送到目的邮箱(2)

发表于:2022-7-07 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:Python架构师

#
Python
分享:
  第三步:自动发送邮件
  做出来的一系列报表一般都要发给别人看的,对于一些每天需要发送到指定邮箱或者需要发送多封报表的可以使用Python来自动发送邮箱。
  在Python发送邮件主要借助到smtplib和email这个两个模块。
  ·smtplib:主要用来建立和断开与服务器连接的工作。
  · email:主要用来设置一些些与邮件本身相关的内容。
  不同种类的邮箱服务器连接地址不一样,大家根据自己平常使用的邮箱设置相应的服务器进行连接。这里博主用网易邮箱展示:
  首先需要开启POP3/SMTP/IMAP服务:
  之后便可以根据授权码使用python登入了。
  import smtplib
  from email import encoders
  from email.header import Header
  from email.utils import parseaddr,formataddr
  from email.mime.application import MIMEApplication
  from email.mime.multipart import MIMEMultipart
  from email.mime.text import MIMEText
  #发件人邮箱
  asender="fanstuck@163.com"
  #收件人邮箱
  areceiver="1079944650@qq.com"
  #抄送人邮箱
  acc="fanstuck@163.com"
  #邮箱主题
  asubject="谢谢关注"
  #发件人地址
  from_addr="fanstuck@163.com"
  #邮箱授权码
  password="####"
  #邮件设置
  msg=MIMEMultipart()
  msg['Subject']=asubject
  msg['to']=areceiver
  msg['Cc']=acc
  msg['from']="fanstuck"
  #邮件正文
  body="你好,欢迎关注fanstuck,您的关注就是我继续创作的动力!"
  msg.attach(MIMEText(body,'plain','utf-8'))
  #添加附件
  htmlFile = 'C:/Users/10799/problem.html'
  html = MIMEApplication(open(htmlFile , 'rb').read())
  html.add_header('Content-Disposition', 'attachment', filename='html')
  msg.attach(html)
  #设置邮箱服务器地址和接口
  smtp_server="smtp.163.com"
  server = smtplib.SMTP(smtp_server,25)
  server.set_debuglevel(1)
  #登录邮箱
  server.login(from_addr,password)
  #发生邮箱
  server.sendmail(from_addr,areceiver.split(',')+acc.split(','),msg.as_string())
  #断开服务器连接
  server.quit()
  运行测试:  
  下载文件:
  完全没问题!!!
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号