收件人邮箱,可以为多个收件人
mail_receivers = [“@qq.com","@outlook.com”]
3、构建MIMEMultipart对象代表邮件本身,可以往里面添加文本、图片、附件等
mm = MIMEMultipart(‘related’)
4、设置邮件头部内容
邮件主题
subject_content = “”“Python邮件测试”“”
设置发送者,注意严格遵守格式,里面邮箱为发件人邮箱
mm[“From”] = “sender_name******@163.com”
设置接受者,注意严格遵守格式,里面邮箱为接受者邮箱
mm[“To”] = “receiver_1_name******@qq.com,receiver_2_name******@outlook.com”
设置邮件主题
mm[“Subject”] = Header(subject_content,‘utf-8’)
5、添加正文文本
邮件正文内容
body_content = “”“你好,这是一个测试邮件!”“”
构造文本,参数1:正文内容,参数2:文本格式,参数3:编码方式
message_text = MIMEText(body_content,“plain”,“utf-8”)
向MIMEMultipart对象中添加文本对象
mm.attach(message_text)
6、添加图片
二进制读取图片
image_data = open(‘a.jpg’,‘rb’)
设置读取获取的二进制数据
message_image = MIMEImage(image_data.read())
关闭刚才打开的文件
image_data.close()
添加图片文件到邮件信息当中去
mm.attach(message_image)
7、添加附件(excel表格)
构造附件
atta = MIMEText(open(‘sample.xlsx’, ‘rb’).read(), ‘base64’, ‘utf-8’)
设置附件信息
atta[“Content-Disposition”] = ‘attachment; filename=“sample.xlsx”’
添加附件到邮件信息当中去
mm.attach(atta)
8、发送邮件
创建SMTP对象
stp = smtplib.SMTP()
设置发件人邮箱的域名和端口,端口地址为25
stp.connect(mail_host, 25)
set_debuglevel(1)可以打印出和SMTP服务器交互的所有信息
stp.set_debuglevel(1)
登录邮箱,传递参数1:邮箱地址,参数2:邮箱授权码
stp.login(mail_sender,mail_license)
发送邮件,传递参数1:发件人邮箱地址,参数2:收件人邮箱地址,参数3:把邮件内容格式改为str
stp.sendmail(mail_sender, mail_receivers, mm.as_string())
print(“邮件发送成功”)
关闭SMTP对象
stp.quit()
结果
看看邮箱接收到来自python的邮件长什么样:
最后
🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!