python email电子邮件怎么发送普通文本、附件、html格式邮件
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,python email电子邮件怎么发送普通文本、附件、html格式邮件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。=今天学习使用
千家信息网最后更新 2025年12月02日python email电子邮件怎么发送普通文本、附件、html格式邮件
python email电子邮件怎么发送普通文本、附件、html格式邮件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
=今天学习使用smtplib发送电子邮件,并记录学习过程欢迎大家一起交流分享。
新建一个python文件命名为py3_email.py,在这个文件中进行操作代码编写:
import osimport smtplibfrom email.message import EmailMessageimport imghdr#这里使用qq邮箱进行测试#发送普通文本#从环境变量中获取#电子邮箱地址和密码EMAIL_ADDRESS = os.environ.get('EMAIL_ADDRESS')EMAIL_PASSWORD = os.environ.get('EMAIL_PASSWORD')#获取收件人的邮箱地址EMAIL_RECEVIER = os.environ.get('EMAIL_RECEVIER')with smtplib.SMTP('smtp.qq.com',25) as smtp:#使用ehlo识别smtp服务器smtp.ehlo()#启用TLSsmtp.starttls()#再次识别smtpsmtp.ehlo()#登录smtpsmtp.login(EMAIL_ADDRESS,EMAIL_PASSWORD)#smtp.set_debuglevel(1)调试使用subject = 'hello where are you ?'body ='Hi In China!!!!!!'msg = f'{subject}\n\n{body}'smtp.sendmail(EMAIL_ADDRESS,EMAIL_RECEVIER,msg)##注意这里测试的时候,发件人使用的是qq邮箱##使用163邮箱作为发件人会出很多问题。##这里的密码是邮箱的授权码 需要自己登录到邮箱进行设置####使用EmailMessage对象设置邮件主题内容发送e_msg = EmailMessage()e_msg['Subject'] = 'Life is short !!!'e_msg['From'] = EMAIL_ADDRESSe_msg['To'] = EMAIL_RECEVIERe_msg.set_content('How about python?')with smtplib.SMTP('smtp.qq.com',25) as smtp:smtp.login(EMAIL_ADDRESS,EMAIL_PASSWORD)smtp.send_message(e_msg)##发送带附件的邮件e_msg = EmailMessage()e_msg['Subject'] = 'Image from my PC!!!'e_msg['From'] = EMAIL_ADDRESSe_msg['To'] = EMAIL_RECEVIERe_msg.set_content('Image moto attached。。。')#打开图片,添加图片信息到e_msg中with open('0.jpg','rb') as f:file_data = f.read()file_type = imghdr.what(f.name)file_name = f.namee_msg.add_attachment(file_data,maintype='image',subtype=file_type,filename=file_name)#也可以添加多张图片,使用for实现即可#如果是pdf文件做如下调整#e_msg.add_attachment(file_data,maintype='application',subtype='octet-stream',filename=file_name)#其他格式文件可参考apiwith smtplib.SMTP('smtp.qq.com',25) as smtp:smtp.login(EMAIL_ADDRESS,EMAIL_PASSWORD)smtp.send_message(e_msg)####发送一个HTML格式的邮件e_msg = EmailMessage()e_msg['Subject'] = 'html email send!!!'e_msg['From'] = EMAIL_ADDRESSe_msg['To'] = EMAIL_RECEVIERe_msg.set_content('This is a plain text email')e_msg.add_alternative("""\This is an HTML Email!
""", subtype='html')with smtplib.SMTP('smtp.qq.com',25) as smtp:smtp.login(EMAIL_ADDRESS,EMAIL_PASSWORD)smtp.send_message(e_msg)
关于python email电子邮件怎么发送普通文本、附件、html格式邮件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
邮件
邮箱
格式
电子
文件
问题
普通
文本
电子邮件
附件
图片
内容
发件人
地址
密码
更多
学习
帮助
测试
登录
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
102服务器
网络安全漏洞处理
服务器怎么组装
数据库查行
5G软件开发是人工智能吗
千图网网络安全
棒棒糖 软件开发工具包
桌面级cpu能不能做服务器
新一代软件开发服务标准
怎么更改问道虚拟机服务器的时间
软件开发的平台环境是
sw修改器服务器在哪
吃鸡模拟器怎么换服务器
华为手机和云服务器
海城跑腿软件开发
比尔盖茨科技电子软件开发工程
江苏数据软件开发价钱
浙江安全接入服务器地址
电子软件开发专利
服务器默认管理口
网络安全等级保护的条件
数据库按查找条件插入记录
pos系统的数据库设计
服务器只允许ip访问安全吗
数据库中选取下条记录的函数
大中型监控系统为什么要有服务器
access数据库发邮件
关于网络安全教育的故事
天津服务器维修调试虚拟主机
网络安全为话题的征文800