python3邮件添加图片

摘要:
如果我想在电子邮件正文中嵌入图像,该怎么办?我可以在HTML邮件中直接链接图像地址吗?大多数邮件服务提供商自动阻止带有外部链接的图片。他们需要通过引用HTML中的src=“'+'<'utf-8')将图片嵌入邮件正文。如果我们发送HTML邮件,收件人通常可以通过浏览器或Outlook软件浏览邮件内容。方法是在发送HTML时添加纯文本。

如果要把一个图片嵌入到邮件正文中怎么做?直接在HTML邮件中链接图片地址行不行?

答案是,大部分邮件服务商都会自动屏蔽带有外链接的图片,因为不知道这些链接是否指向恶意网站。

要把图片嵌入到邮件正文中,我们只需要按照发送附件的方式,先把邮件作为附件添加进去,

然后,在HTML中通过引用src=“cid:0”就可以把附件作为图片嵌入了。如果有多个图片,给他们依次编号,然后引用不同的cid:x即可。

把上面代码加入MIMEMultipart的MIMEText从plain改为html,然后在适当的位置引用图片:

#邮件正文是MIMEText:
msg.attach(MIMEText('<html><body><h1>hello</h1>'+
'<p><img src="cid:0"></p>'+
'</body></html>','html','utf-8'))
python3邮件添加图片第1张

同时支持HTML和Plain格式

如果我们发送HTML邮件,收件人通过浏览器或者Outlook之类的软件是可以正常浏览邮件内容的,但是如果收件人使用的设备太古老,查看不了HTML邮件怎么办?

办法是在发送HTML的同时再添加一个纯文本,如果收件人无法查看HTML格式的邮件,就可以自动降级查看纯文本邮件。

Python的smtplib发送邮件十分简单,只要掌握了各种邮件类型的构造方法,正确设置好邮件头,就可以顺利发出。

构造一个邮件对象就是一个Message对象,如果构造一个MIMEText对象,就表示一个文本邮件对象,如果构造一个MIMEImage对象,就表示一个作为附件的图片,要把多个对象组合起来,就用MIMEMultipart对象,而MIMEBase可以表示任何对象。他们的继承关系如下:

Message
+-MIMEBase
+-MIMEMultipart
+-MIMENonMultipart
+-MIMEMessage
+-MIMEText
+-MIMIEImage

通过msg.attach添加html文本及多个图片
python3邮件添加图片第2张


这种嵌套关系就可以构造出任意复杂的邮件。你可以通过email.mime文档查看它们所在的包以及详细的用法。
————————————————
https://blog.csdn.net/Darin2017/article/details/89634257?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-9.nonecase

免责声明:文章转载自《python3邮件添加图片》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇JMS是一种应用于异步消息传递的标准API洛谷-统计数字-NOIP2007提高组复赛下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

swaks制作钓鱼邮件

  一、在网站:https://bccto.me/ 申请一个十分钟的邮箱 二、使用命令行,命令行解释如下: --from hacker@qq.com //发件人的邮箱 --ehlo qq.com //伪造邮件ehlo头,发件人邮箱的域名信息 --body "http://login.google.cn" //发送钓鱼网站,即发送的内容 --heade...

html5 canvas 前端生成缩略图

html5 canvas 前端生成缩略图 更新: 2013/08/01: 解决了后面遇到的bug: 图片被压扁(IOS6); 图片被旋转; 整个源码放在: https://github.com/kairyou/html5-make-thumb 新方案需要后面实现的, 就是下面的旧版本里的功能(水印/是否强制拉伸以适应目标尺寸等功能). w3ctech长沙站...

ionic3 项目中问题的解决

1、ios端除了button按钮上绑定click事件,会有时间延迟,可通过给元素绑定tappable解决 2、ios端屏幕上下拖动,底部往上拉会有白屏,可通过config.xml里面配置   <preference name="WebViewBounce" value="false" />   <preference name="Disa...

各大瀑布流简析与建议

很难说这东西是什么时候山寨到国内,反正现状就是一涌而上,到处是瀑布流。瀑布流的鼻祖是Pinterest,图片网。图片网令我想起了各种相册,如最著名的Flickr。但区区Pinterest一小站,能够独行特立,引领潮流,可见创新的力量。 snatchly.com 最棒的瀑布流 不解释 瀑布流有两大元素,图片与无限拖。图片要力求鲜丽夺目,毕竟它的每一张图片就...

微信小程序first-child 和 last-child 失效如何解决?

问题情况 html 1 <view class="box"> 2 <view class="floor"> 3 一楼 4 </view> 5 <view class="floor"> 6 二楼 7 </view> 8 <view class...

python之路 django基础

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 一、基本配置 1、创建Django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质...