python email电子邮件怎么发送普通文本、附件、html格式邮件
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,python email电子邮件怎么发送普通文本、附件、html格式邮件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。=今天学习使用
千家信息网最后更新 2025年01月31日python email电子邮件怎么发送普通文本、附件、html格式邮件
python email电子邮件怎么发送普通文本、附件、html格式邮件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
=今天学习使用smtplib发送电子邮件,并记录学习过程欢迎大家一起交流分享。
新建一个python文件命名为py3_email.py,在这个文件中进行操作代码编写:
import os
import smtplib
from email.message import EmailMessage
import 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()
#启用TLS
smtp.starttls()
#再次识别smtp
smtp.ehlo()
#登录smtp
smtp.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_ADDRESS
e_msg['To'] = EMAIL_RECEVIER
e_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_ADDRESS
e_msg['To'] = EMAIL_RECEVIER
e_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.name
e_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)
#其他格式文件可参考api
with 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_ADDRESS
e_msg['To'] = EMAIL_RECEVIER
e_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安全错误
数据库的锁怎样保障安全
计算机网络技术介绍书包
电子商务与网络安全技术
英国网络技术专业有哪些
软件开发工程师笔试题目
成都2019网络安全大赛
泡泡糖游戏服务器连不上
声卡下载软件开发
导致网络安全威胁的原因
今日头条网络安全工程师
数据库一般不保存什么数据
腾讯云服务器是什么操作系统
土地变更数据库
楚雄软件开发项目管理培训
教室排座软件开发
简单易上手的软件开发工具包
北京服务器机柜厂商有哪些
软件开发企业软件的成本
网络安全中的学科知识链接
郑州鼎益服务器配件
sql数据库delete
网络技术类型
软件开发师图片
开票软件3.0服务器连接失败
软件开发过程中需要的文档
网络安全年讲话
照片修图软件开发
ibm 5g服务器
黑客命令控制服务器的英文
金航数码安全服务器
dns 服务器原理