python如何发送带有附件、正文为HTML的邮件


Posted in Python onFebruary 27, 2021

一、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)

python如何发送带有附件、正文为HTML的邮件

二、发送带附件的邮件

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的邮件

三、源码

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 发送邮件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python client使用http post 到server端的代码
Feb 10 Python
全面解读Python Web开发框架Django
Jun 30 Python
基于scrapy实现的简单蜘蛛采集程序
Apr 17 Python
python排序方法实例分析
Apr 30 Python
Python写入数据到MP3文件中的方法
Jul 10 Python
Python遍历文件夹和读写文件的实现代码
Aug 28 Python
Python FTP两个文件夹间的同步实例代码
May 25 Python
python opencv 批量改变图片的尺寸大小的方法
Jun 28 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
python groupby 函数 as_index详解
Dec 16 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 Python
pytorch __init__、forward与__call__的用法小结
Feb 27 #Python
python 实现有道翻译功能
Feb 26 #Python
Python爬取酷狗MP3音频的步骤
Feb 26 #Python
python利用xpath爬取网上数据并存储到django模型中
Feb 26 #Python
用python 绘制茎叶图和复合饼图
Feb 26 #Python
python lambda的使用详解
Feb 26 #Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 #Python
You might like
espresso double下 咖啡粉超细时 饼压力对咖啡的影响
2021/03/03 冲泡冲煮
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
Prototype Class对象学习
2009/07/19 Javascript
js调用后台servlet方法实例
2013/06/09 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
详解vue-Resource(与后端数据交互)
2017/01/16 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用
2019/04/11 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
Python并行分布式框架Celery详解
2018/10/15 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
基于python实现地址和经纬度转换
2020/05/19 Python
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
女娲补天教学反思
2014/02/05 职场文书
简单租房协议书
2014/04/09 职场文书
安全责任书模板
2014/07/22 职场文书
人代会简报
2015/07/21 职场文书
学校中层领导培训心得体会
2016/01/11 职场文书
python OpenCV学习笔记
2021/03/31 Python
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript
Python OpenCV实现图像模板匹配详解
2022/04/07 Python