python邮件中附加文字、html、图片、附件实现方法


Posted in Python onJanuary 04, 2021

关于python写邮件各种功能我们已经介绍过很多,大家有兴趣可以参考:

下面我们看下本次介绍的全部代码实例

import smtplib  
from email.mime.multipart import MIMEMultipart  
from email.mime.text import MIMEText  
from email.mime.image import MIMEImage 
from email.header import Header  
  
#设置smtplib所需的参数
#下面的发件人,收件人是用于邮件传输的。
smtpserver = 'smtp.163.com'
username = 'XXX@163.com'
password='XXX'
sender='XXX@163.com'
#receiver='XXX@126.com'
#收件人为多个收件人
receiver=['XXX@126.com','XXX@126.com']
 
subject = 'Python email test'
#通过Header对象编码的文本,包含utf-8编码信息和Base64编码信息。以下中文名测试ok
#subject = '中文标题'
#subject=Header(subject, 'utf-8').encode()
  
#构造邮件对象MIMEMultipart对象
#下面的主题,发件人,收件人,日期是显示在邮件页面上的。
msg = MIMEMultipart('mixed') 
msg['Subject'] = subject
msg['From'] = 'XXX@163.com <XXX@163.com>'
#msg['To'] = 'XXX@126.com'
#收件人为多个收件人,通过join将列表转换为以;为间隔的字符串
msg['To'] = ";".join(receiver) 
#msg['Date']='2012-3-16'
 
#构造文字内容  
text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.baidu.com"  
text_plain = MIMEText(text,'plain', 'utf-8')  
msg.attach(text_plain)  
 
#构造图片链接
sendimagefile=open(r'D:\pythontest\testimage.png','rb').read()
image = MIMEImage(sendimagefile)
image.add_header('Content-ID','<image1>')
image["Content-Disposition"] = 'attachment; filename="testimage.png"'
msg.attach(image)
 
#构造html
#发送正文中的图片:由于包含未被许可的信息,网易邮箱定义为垃圾邮件,报554 DT:SPM :<p><img src="cid:image1"></p>
html = """
<html> 
 <head></head> 
 <body> 
  <p>Hi!<br> 
    How are you?<br> 
    Here is the <a href="http://www.baidu.com" rel="external nofollow" >link</a> you wanted.<br> 
  </p> 
 </body> 
</html> 
"""  
text_html = MIMEText(html,'html', 'utf-8')
text_html["Content-Disposition"] = 'attachment; filename="texthtml.html"'  
msg.attach(text_html)  
 
 
#构造附件
sendfile=open(r'D:\pythontest\1111.txt','rb').read()
text_att = MIMEText(sendfile, 'base64', 'utf-8') 
text_att["Content-Type"] = 'application/octet-stream' 
#以下附件可以重命名成aaa.txt 
#text_att["Content-Disposition"] = 'attachment; filename="aaa.txt"'
#另一种实现方式
text_att.add_header('Content-Disposition', 'attachment', filename='aaa.txt')
#以下中文测试不ok
#text_att["Content-Disposition"] = u'attachment; filename="中文附件.txt"'.decode('utf-8')
msg.attach(text_att)  
    
#发送邮件
smtp = smtplib.SMTP()  
smtp.connect('smtp.163.com')
#我们用set_debuglevel(1)就可以打印出和SMTP服务器交互的所有信息。
#smtp.set_debuglevel(1) 
smtp.login(username, password)  
smtp.sendmail(sender, receiver, msg.as_string())  
smtp.quit()

小编测试后发现,这个实例可以把很多元素当做一个多文本编辑器,放在邮件附件里,非常好用。

以上就是python邮件中附加文字、html、图片、附件实现方法的详细内容,更多关于python邮件中添加元素附件方法的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python实现bitmap数据结构详解
Feb 17 Python
从零学python系列之数据处理编程实例(二)
May 22 Python
利用Python开发微信支付的注意事项
Aug 19 Python
python爬虫入门教程--优雅的HTTP库requests(二)
May 25 Python
使用Django和Python创建Json response的方法
Mar 26 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
详解Python sys.argv使用方法
May 10 Python
python networkx 包绘制复杂网络关系图的实现
Jul 10 Python
python制作英语翻译小工具代码实例
Sep 09 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
Mar 30 Python
Django程序的优化技巧
Apr 29 Python
python自动化发送邮件实例讲解
Jan 04 #Python
Python Selenium库的基本使用教程
Jan 04 #Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 #Python
python自动打开浏览器下载zip并提取内容写入excel
Jan 04 #Python
python Scrapy框架原理解析
Jan 04 #Python
如何用 Python 处理不平衡数据集
Jan 04 #Python
Python创建简单的神经网络实例讲解
Jan 04 #Python
You might like
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
php笔记之:有规律大文件的读取与写入的分析
2013/04/26 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
PHP运行模式汇总
2016/11/06 PHP
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
Extjs显示从数据库取出时间转换JSON后的出现问题
2012/11/20 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
利用babel将es6语法转es5的简单示例
2017/12/01 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
python网络编程学习笔记(四):域名系统
2014/06/09 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
解决Pycharm双击图标启动不了的问题(JetBrains全家桶通用)
2020/08/07 Python
CSS3 实现侧边栏展开收起动画
2014/12/22 HTML / CSS
英国口碑最好的的维他命胶囊品牌:Myvitamins(有中文站)
2016/12/03 全球购物
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
工地门卫岗位职责范本
2014/07/01 职场文书
法人委托书范本格式
2014/09/15 职场文书
八达岭长城导游词
2015/01/30 职场文书
家长对孩子的寄语
2015/02/26 职场文书
导游词之太湖
2019/10/08 职场文书