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和MD5实现网站挂马检测程序
Mar 13 Python
python中list列表的高级函数
May 17 Python
对于Python中RawString的理解介绍
Jul 07 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
Jun 15 Python
python交互式图形编程实例(三)
Nov 17 Python
不管你的Python报什么错,用这个模块就能正常运行
Sep 14 Python
python使用udp实现聊天器功能
Dec 10 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
Python生成rsa密钥对操作示例
Apr 26 Python
Python通过正则库爬取淘宝商品信息代码实例
Mar 02 Python
python生成大写32位uuid代码
Mar 03 Python
python爬虫利用代理池更换IP的方法步骤
Feb 21 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
php $_SERVER[&quot;REQUEST_URI&quot;]获取值的通用解决方法
2010/06/21 PHP
jquery offset函数应用实例
2012/11/14 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
2013/11/21 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
node.js+express制作网页计算器
2016/01/17 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
vue监听用户输入和点击功能
2019/09/27 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
2019/10/14 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
Jacadi Paris美国官方网站:法国童装品牌
2017/10/15 全球购物
倩碧英国官网:Clinique英国
2018/08/10 全球购物
Charles&Keith美国官方网站:新加坡快时尚鞋类和配饰零售商
2019/11/27 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
网络安全方面的面试题
2016/01/07 面试题
高一自我鉴定
2013/12/17 职场文书
运动会班级口号
2014/06/09 职场文书
月度优秀员工获奖感言
2014/08/16 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
如何制定销售人员薪酬制度?
2019/07/09 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android