python如何发送带有附件、正文为HTML的邮件
程序员文章站
2022-09-26 08:10:51
一、html格式怎么发送右键1.准备html代码作为内容2.把邮件的subtype设置为html3.发送4.举个例子:自己发给自己一个html格式的文件from email.mime.text imp...
一、html格式怎么发送右键
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> <h1>这个是做测试用的html<h1> </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)
三、源码
d55_2_htmlmailsend.py
d55_3_sendattachmentmail.py
https://github.com/ruigege66/python_learning/blob/master/d55_2_htmlmailsend.py
https://github.com/ruigege66/python_learning/blob/master/d55_3_sendattachmentmail.py
以上就是python如何发送带有附件、正文为html的邮件的详细内容,更多关于python 发送邮件的资料请关注其它相关文章!
上一篇: 继续撸,比以前还要猛
下一篇: 饿了么吃货卡怎么关闭自动续费功能?