这篇“python怎么发送带有附件、正文为HTML的邮件”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“python怎么发送带有附件、正文为HTML的邮件”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
1.准备HTML代码作为内容
2.把邮件的subtype设置为html
3.发送
4.举个例子:自己发给自己一个HTML格式的文件
from email.mime.text import MIMEText
main_content = """
<!DOCTYPE html>
<html lang = "en"
<head>
<meta charset = "UTF-8">
<title>实例</title>
</head>
<body>
<h2>这个是做测试用的html<h2>
</body>
</html>
"""
msg = MIMEText(main_content,"html","utf-8")
#构建发送者地址和登录信息
from_addr = "1215217867@qq.com"
from_pwd = ""
#构建邮件接受者的信息
to_addr = "1215217867@qq.com"
smtp_srv = "smtp.qq.com"
try:
import smtplib
srv = smtplib.SMTP_SSL(smtp_srv.encode(),465)
srv.login(from_addr,from_pwd)
srv.sendmail(from_addr,[to_addr],msg.as_string())
srv.quit()
except Exception as a:
print(a)
1.可以把邮件看作是一个文本邮件和一个附件的合体
2.一封邮件如果涉及多个部分,需要使用MIMEMultipart格式构建
3.添加一个MIMEText正文
4.添加一个 MIMEBase或者MEMEText作为附件
5.举个例子:
from email.mime.text import MIMEText#构建附件使用
from email.mime.multipart import MIMEBase,MIMEMultipart#构建基础邮件使用
mail_mul = MIMEMultipart()#构建一个邮件对象
mail_text = MIMEText("Hello,I am liudana","plain","utf-8")#构建邮件正文
mail_mul.attach(mail_text)#把构建好的邮件正文附加到邮件中
#构建附件,需要从本地读入附件
#打开一个本地文件
#以rb格式打开
with open("00.TestCasePython.py","rb") as f:
s = f.read()
#设置附件的MIME和文件名
m = MIMEText(s,"base64","utf-8")#类型是base64,这是邮件正文的格式,这里只需要记住就可以了
m["Content-Type"] = "application/octet-stream"
#需要注意
#1.attachment后分号位英文状态
#2.filename后面需要引号包裹,注意与外面引号错开
m["Content-Disposition"] = "attachment;filename = '00.TestCasePython.py'"
#添加到MIMEMultipart
mail_mul.attach(m)
#构建发送者地址和登录信息
from_addr = "1215217867@qq.com"
from_pwd = "ysqmojzwkgfciccd"
#构建邮件接受者的信息
to_addr = "1215217867@qq.com"
smtp_srv = "smtp.qq.com"
try:
import smtplib
srv = smtplib.SMTP_SSL(smtp_srv.encode(),465)
srv.login(from_addr,from_pwd)
srv.sendmail(from_addr,[to_addr],mail_mul.as_string())
srv.quit()
except Exception as a:
print(a)
感谢你的阅读,希望你对“python怎么发送带有附件、正文为HTML的邮件”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。