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处理文本文件实现生成指定格式文件的方法
Jul 31 Python
Python进程通信之匿名管道实例讲解
Apr 11 Python
Python3里的super()和__class__使用介绍
Apr 23 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
Aug 10 Python
python编码总结(编码类型、格式、转码)
Jul 01 Python
python如何读写json数据
Mar 21 Python
Python 字符串与数字输出方法
Jul 16 Python
python截取两个单词之间的内容方法
Dec 25 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
Aug 05 Python
python文件操作的简单方法总结
Nov 07 Python
python实现拼图小游戏
Feb 22 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 Memcached应用实现代码
2010/02/08 PHP
php标签云的实现代码
2012/10/10 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
2014/02/13 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
PHP生成各种常见验证码和Ajax验证过程
2016/01/10 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
javascript 特殊字符串
2009/02/25 Javascript
javascipt基础内容--需要注意的细节
2013/04/10 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
node.js中的console.assert方法使用说明
2014/12/10 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
jQuery实现的下雪动画效果示例【附源码下载】
2018/02/02 jQuery
Promise扫盲贴
2019/06/24 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
[01:24:16]2018DOTA2亚洲邀请赛 4.6 全明星赛
2018/04/10 DOTA
python 将列表中的字符串连接成一个长路径的方法
2018/10/23 Python
Python图像滤波处理操作示例【基于ImageFilter类】
2019/01/03 Python
python读取与处理netcdf数据方式
2020/02/14 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
Python发送邮件实现基础解析
2020/08/14 Python
python脚本第一行如何写
2020/08/30 Python
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
执行总经理岗位职责
2014/02/03 职场文书
企业环保标语
2014/06/10 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
交通事故和解协议书
2014/09/25 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
七年级作文之关于奶奶
2019/10/29 职场文书
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python