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 random模块(获取随机数)常用方法和使用例子
May 13 Python
Python的Flask开发框架简单上手笔记
Nov 16 Python
Windows下安装Django框架的方法简明教程
Mar 28 Python
Python中return self的用法详解
Jul 27 Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
Jan 30 Python
Python实现K折交叉验证法的方法步骤
Jul 11 Python
解决django 新增加用户信息出现错误的问题
Jul 28 Python
python实现按首字母分类查找功能
Oct 31 Python
Python实现序列化及csv文件读取
Jan 19 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 Python
python绘制箱型图
Apr 27 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项目的方法
2006/10/09 PHP
php的memcached客户端memcached
2011/06/14 PHP
从手册去理解分析PHP session机制
2011/07/17 PHP
php遍历文件夹下的所有文件和子文件夹示例
2014/03/20 PHP
教你如何用php实现LOL数据远程获取
2014/06/10 PHP
THINKPHP项目开发中的日志记录实例分析
2014/12/01 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
2013/01/23 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
在vue里面设置全局变量或数据的方法
2018/03/09 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
Python中__new__与__init__方法的区别详解
2015/05/04 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
django如何连接已存在数据的数据库
2018/08/14 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
使用pyqt 实现重复打开多个相同界面
2019/12/13 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
团支书的期末学习总结自我评价
2013/11/01 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
消防安全汇报材料
2014/02/08 职场文书
社会工作专业自荐信
2014/09/26 职场文书
事业单位考察材料范文
2014/12/25 职场文书
详解解Django 多对多表关系的三种创建方式
2021/08/23 Python
php双向队列实例讲解
2021/11/17 PHP