查看原文
其他

自动群发邮件(二)——附带附件

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:赵冰洁,中南财经政法大学金融学院

本文编辑:寇晓璇

技术总编:张馨月

爬虫俱乐部云端课程

  爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律与制度专题训练营已经圆满结束啦~应广大学员需求,我们的课程现已在腾讯课堂全面上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦》或《8月Stata数据分析法律与制度专场来啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠券!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元!
在昨天的推文自动群发邮件--email和smtplib基本模块的使用中,我们为大家介绍了 Python 自动发送邮件过程中所涉及到的 email 库和 smtplib 库的具体应用。今天,将继续为大家介绍如何使用 Pyhton 自动群发附带附件的邮件。

一、图片格式的附件发送

首先,导入相关库。
1# 准备邮件 email库
2from email import encoders
3from email.mime.base import MIMEBase
4from email.mime.multipart import MIMEMultipart
5from email.mime.text import MIMEText
6from email.mime.application import MIMEApplication
7
8# 发送邮件 smtplib库
9import smtplib
10
11import os
12os.chdir("D:\python自动群发邮件")
其次,设置邮件的相关参数。
1sender = "10******90@qq.com" # 发件人的邮箱
2receivers = ["10******90@qq.com","23******75@qq.com","6*******8@qq.com"# 收件人的邮箱
3subject = "爬虫俱乐部" # 邮件主题
4password = "m**************j" # SMTP服务器授权码
然后,设置邮件信息,并添加附件。
1# 邮件基本格式信息
2msg = MIMEMultipart()  
3msg["subject"] = subject
4msg["From"] = sender
5msg["To"] = ",".join(receivers)
6
7#邮件的附件信息
8IMG = MIMEApplication(open("Tu.jpg", mode = "rb").read())
9IMG.add_header('Content-Disposition''attachment', filename="Tu.jpg")
10
11# 将附件信息与基本格式信息整合在一起
12msg.attach(IMG)
最后,发送邮件。
1s = smtplib.SMTP()
2s.connect("smtp.qq.com")
3s.login(sender,password)
4s.send_message(msg)
5s.quit()
 结果如下:

二、TXT格式的附件发送

首先,导入相关库并设置邮件的相关参数以及邮件的基本格式信息。
1# 准备邮件 email库
2from email import encoders
3from email.mime.base import MIMEBase
4from email.mime.multipart import MIMEMultipart
5from email.mime.text import MIMEText
6from email.mime.application import MIMEApplication
7
8# 发送邮件 smtplib库
9import smtplib
10
11import os
12os.chdir("D:\python自动群发邮件")
13
14# 设置邮件的相关参数 
15sender = "10******90@qq.com" # 发件人的邮箱
16receivers = ["10******90@qq.com","23******75@qq.com","6*******8@qq.com"# 收件人的邮箱
17subject = "爬虫俱乐部" # 邮件主题
18password = "m**************j" # SMTP服务器授权码
19
20# 邮件的基本格式信息
21msg = MIMEMultipart()  
22msg["subject"] = subject
23msg["From"] = sender
24msg["To"] = ",".join(receivers)
其次,为邮件添加TXT格式的附件,并与邮件基本格式信息整合。
1TXT = MIMEApplication(open("爬虫俱乐部.txt", mode = "rb").read())
2TXT.add_header('Content-Disposition''attachment', filename="爬虫俱乐部.txt")
3msg.attach(TXT)
最后,发送邮件。
1s = smtplib.SMTP()
2s.connect("smtp.qq.com")
3s.login(sender,password)
4s.send_message(msg)
5s.quit()
结果如下:

三、PDF格式的附件发送

首先,导入相关库并设置邮件的相关参数及基本格式信息。
1# 准备邮件 email库
2from email import encoders
3from email.mime.base import MIMEBase
4from email.mime.multipart import MIMEMultipart
5from email.mime.text import MIMEText
6from email.mime.application import MIMEApplication
7
8# 发送邮件 smtplib库
9import smtplib
10
11import os
12os.chdir("D:\python自动群发邮件")
13
14# 设置邮件的相关参数 
15sender = "10******90@qq.com" # 发件人的邮箱
16receivers = ["10******90@qq.com","23******75@qq.com","6*******8@qq.com"# 收件人的邮箱
17subject = "爬虫俱乐部" # 邮件主题
18password = "m**************j" # SMTP服务器授权码
19
20# 邮件的基本格式信息
21msg = MIMEMultipart()  
22msg["subject"] = subject
23msg["From"] = sender
24msg["To"] = ",".join(receivers)
其次,为邮件添加附件信息并与基本格式信息整合。
1# 邮件正文信息
2msg_content = f'''
3您好:
4   非常感谢您在百忙之中阅读本封邮件!在此祝您身体健康,万事顺遂!本邮件来自微信公众号“Stata & Python数据分析”(原“爬虫俱乐部”)。
5
6                                                                                                             Stata & Python数据分析
7                                                                                                             2021年1月01日
8'''

9
10msg.attach(MIMEText(msg_content))
11
12# 邮件附件信息
13pdfFile = "Peer Performance and Earnings Management.pdf" 
14pdfApart = MIMEApplication(open(pdfFile,"rb").read())
15pdfApart.add_header('Content-Disposition''attachment', filename = pdfFile)
16msg.attach(pdfApart)
最后,发送邮件。
1s = smtplib.SMTP()
2s.connect("smtp.qq.com")
3s.login(sender,password)
4s.sendmail(sender,receivers,msg.as_string())
5s.quit()
结果如下:

以上就是本期推文的全部内容啦~




对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
往期推文推荐

自动群发邮件--email和smtplib基本模块的使用

批量处理变量名和标签的小方法

计算工作日的小能手——workdays

Seminar | 企业错报与银行贷款合同

Seminar | 共同基金行业的性别歧视
Seminar | 来自女儿的塑造:高管、女性社会化与企业社会责任

小贴士:Markdown的基本语法

听说相貌也能量化 | 调用百度人脸检测API实现颜值打分

列出指定属性的变量|findname命令比ds命令

新一代的标签转码小能手
【爬虫实战】亚马逊网站Top100畅销书爬取

Json文件好帮手——JsonPath

数据转置pro之sxpose2
文件"搬家"小助手:mvfiles

pyecharts绘图——河流图展示

你知道MDPI期刊的热门题目吗?

文件合并你不行,mergemany来帮宁
分组进行描述性统计的小技巧 --astx命令介绍
新年快乐|爬虫俱乐部2020年度总结

不能忘却的记忆| B站弹幕爬虫

Python中实现Excel的重复值提取
fileexists:告诉你“我”存在吗?
关于我们


微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata和python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存