python报表怎么自动发送(报表自动化Python发送邮件)

python报表怎么自动发送(报表自动化Python发送邮件)(1)

报表自动化最常见的方式就是定时自动发送邮件,本文就总结下Python发送邮件的具体实现:

第1步:设置邮箱

要想用Python发送邮件,首先需要对邮箱进行设置,允许第三方客户端登录。以163邮箱为例,我们需要在设置中开启SMTP服务,开启SMTP服务时会给我们一个授权密码,我们要把这个授权码记录保存下来以便后续使用,如下图所示:

python报表怎么自动发送(报表自动化Python发送邮件)(2)

python报表怎么自动发送(报表自动化Python发送邮件)(3)

第2步:选用工具包

Python发送邮件常见的是用Python自带的emailsmtplib这2个包来实现,但这2个包太繁琐了,不够简单实用。我们选用更简单高效的工具包:yagmail,首先安装这个包:

# 在线安装 pip install yagmail # 先下载whl文件再安装 pip install C:\Users\sheng\Downloads\yagmail-0.15.293-py2.py3-none-any.whl

第3步:代码实现

import yagmail yag = yagmail.SMTP(user='xxx@163.com', password='xxx', host='smtp.163.com') body = """ 你好: 附件是运营日报,请查收! """ contents = [ body, #邮件正文 r'.\运营日报20230111.xlsx', #附件1 r'.\广告图.png' #附件2 ] to = ['xxx@163.com', 'xxx@126.com'] #要发送的人 cc = ['xxx@qq.com'] #要抄送的人 yag.send(to=to, subject='运营日报', contents=contents, cc=cc)

代码运行结果:

如下图所示,邮件已经成功发送了:

python报表怎么自动发送(报表自动化Python发送邮件)(4)

报错处理:

代码首次执行过程中,可能会遇到SMTPHeloError报错 ,这是电脑网络设置导致的,网上搜一下按照网上的解决办法处理即可。

以上就是Python发送邮件的具体实现,选用了非常简洁的yagmail包,代码量比Python自带的email包少很多,希望能帮助到你,如有疑问,欢迎留言。

历史文章:

报表自动化:Python发送微信消息

简单易用的文件合并工具

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页