本篇文章给大家谈谈Python自动化邮件发送教程,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
发送邮件需要遵守SMTP协议。 Python 内置了对SMTP 的支持,可以发送纯文本电子邮件、HTML 电子邮件和带附件的电子邮件。
1.首先导入相关库和方法
导入smtplib
导入电子邮件
# 负责构建文本
从email.mime.text 导入MIMEText
# 负责构建图像
从email.mime.image 导入MIMEImage
# 负责收集多个对象
从email.mime.multipart 导入MIMEMultipart
从email.header 导入标头
2.设置邮箱域名、发件人邮箱、邮箱授权码、收件人邮箱
# SMTP服务器,这里使用163邮箱
mail_host="smtp.163.com"
# 发件人邮箱mail_sender="******@163.com"
# 邮箱授权码,请注意,这不是邮箱密码
mail_license="********"
# 收件人邮箱地址,可以是多个收件人
mail_receivers=["******@qq.com","******@outlook.com"]
3. 构造一个MIMEMultipart 对象来表示电子邮件本身,可以在其中添加文本、图像、附件等。
mm=MIMEMultipart("相关")
4.设置邮件标题内容
# 邮件主题
subject_content="""Python邮件测试"""
# 设置发件人,注意严格遵守格式,邮箱地址为发件人邮箱地址
mm["发件人"]="发件人姓名*****@163.com"
# 设置收件人,注意严格遵守格式,邮箱地址为收件人邮箱地址
mm["收件人"]="receiver_1_name******@qq.com,receiver_2_name******@outlook.com"
# 设置邮件主题
mm["主题"]=标题(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["内容处置"]="附件;文件名="样本.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("邮件发送成功")
关于本次Python自动化邮件发送教程和的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。
【Python自动化邮件发送教程】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
这应该很有趣!自己学会自动发邮件感觉很方便啊。
有8位网友表示赞同!
之前也没听说过可以用Python实现自动化发邮件,真开眼界!
有13位网友表示赞同!
想试一下,有没有简单易懂的教程可以跟着操作?
有18位网友表示赞同!
我比较菜鸟,知道这篇文章能教会我一些基础知识吗?
有12位网友表示赞同!
自动发邮件还能做些什么呢?比如定时发送、收到邮件回复自动回复等等?
有15位网友表示赞同!
之前找过很多自动化脚本,没想到Python也能实现啊!
有15位网友表示赞同!
学习Python主要是为了解决实际问题,能用它发邮件真是太酷了!
有12位网友表示赞同!
我平时需要经常给客户发送邮件,自动化的效果简直一流!
有15位网友表示赞同!
感觉这篇文章挺实用,应该能帮我节省不少时间。
有10位网友表示赞同!
学习一下这个技术,以后在工作上可以用到。
有13位网友表示赞同!
想了解一下这个Python脚本的安全问题,会不会泄露隐私信息?
有12位网友表示赞同!
发邮件需要用到什么库呢?文中会提到吗?
有18位网友表示赞同!
我刚开始学Python,这篇文章难度合适吗?
有13位网友表示赞同!
希望文章能详细讲解每个步骤,方便小白学习。
有10位网友表示赞同!
自动发邮件的效率真的很高,可惜我没学习过编程技术。
有15位网友表示赞同!
这个方法听起来简单方便,等我时间允许再试一下!
有13位网友表示赞同!
如果能够使用不同模板发送邮件,会更胜一筹!
有9位网友表示赞同!
Python脚本写得越简洁越好,希望文中给出清晰的代码示例。
有15位网友表示赞同!
期待文章介绍一些高级功能,比如批量发邮件或邮件追踪。
有9位网友表示赞同!
学会自动发邮件太厉害了,我以后也要学习 Python!
有19位网友表示赞同!