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 相关文章推荐
python3抓取中文网页的方法
Jul 28 Python
详解 Python 与文件对象共事的实例
Sep 11 Python
Python字符串格式化的方法(两种)
Sep 19 Python
python图像常规操作
Nov 11 Python
python机器人运动范围问题的解答
Apr 29 Python
python开头的coding设置方法
Aug 08 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
浅谈pycharm导入pandas包遇到的问题及解决
Jun 01 Python
python pygame入门教程
Jun 01 Python
Python Django模型详解
Oct 05 Python
Python如何加载模型并查看网络
Jul 15 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
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
PHP中遇到BOM、编码导致json_decode函数无法解析问题
2014/07/02 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
innerText 使用示例
2014/01/23 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
JQuery核心函数是什么及使用方法介绍
2016/05/03 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python简单分割文件的方法
2015/07/30 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
加拿大女鞋品牌:ALDO
2016/11/13 全球购物
香港礼品网站:GiftU eshop
2017/09/01 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
公务员总结性个人自我评价
2013/12/05 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
学校清明节活动总结
2014/07/04 职场文书
结婚堵门保证书
2015/05/08 职场文书
小学五年级班主任工作经验交流材料
2015/11/02 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
logback如何自定义日志存储
2021/08/30 Java/Android
mysql主从复制的实现步骤
2021/10/24 MySQL