位置: 编程技术 - 正文

Python中Django发送带图片和附件的邮件(django发送请求)

编辑:rootadmin

推荐整理分享Python中Django发送带图片和附件的邮件(django发送请求),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python发送form data,python发送cmd命令,python如何发送短信,python发送form data,python如何发送短信,python如何发送http请求,python 发送消息,python 发送消息,内容如对您有帮助,希望把文章链接给更多的朋友!

最近需要做集团的SRC系统。暂无安全研发,所以只能找我这个小菜兼职开发。系统使用Django框架,在整个过程中,有许多奇特的需求。在某项需求中,需要给厂商用户发送富文本邮件,漏洞详情,这个折腾了一下,感觉略有收获,所以记一篇随笔。

首先我在网上搜索了一些资料,发现都是python通过smtplib发送,使用MIME格式来生成富文本邮件:传送门

我想的是,使用Django框架,框架带了邮件模块,没必要引入smtplib吧。我就想,向上文传送门那样,生成一个MIME文件,然后通过

这种方式把MIMEMultipart对象使用as_string()方法生成的文件当做message发出去不就好了吗。呃,有兴趣的可以试一下。。我发出去了一堆字符串。。

好吧,失败了,难道真的要把smtplib引进来?

天无绝人之路,这个时候我看到了一句话:EmailMessage是Django封装好的smtp。哦?还有这回事?好吧,尝试一下看看源码?跳转至message.py

恩!大体知道了用法。

就是这样了。而且看message.py文件

Python中Django发送带图片和附件的邮件(django发送请求)

看到raise的信息,明白了,我们传给他的recipient_list应该是元组或者列表

我们传给他的就是Django settings.py文件里配置的邮箱,就是以下格式的:

好,到此为止,我们知道了这个类怎么用。我们看传送门里的代码,挑选比较重要的

然后我们对比一下message.py里面的代码:

篇幅所限不粘贴太多,有兴趣可以自己去研读。我们发现,他们是不是很像,其实读完整个message.py我们会发现一件事。原来EmailMessage这个类的对象,可以看做是MIMEMultipart对象加上了smtplib的发送功能。而且它也有attach方法,可以像MIMEMultipart对象那样拼接富文本邮件内容,好,这就有办法了!我们通过EmailMessage来发送富文本邮件!

我们在views中设置视图函数,调用上面这些测试方法尝试一下:

在urls里面随意配置一个映射指向这个视图函数,把Django工程run起来,直接在浏览器get这个映射。发现邮件发送成功!

工程目录如上图。我不想上传代码,我觉得直接下载源码用来用的话很难学会

就是这样,我完成了Django的富文本邮件发送。希望对大家的学习有所帮助,也希望大家多多支持积木网。

Python爬取网易云音乐热门评论 最近在研究文本挖掘相关的内容,所谓巧妇难为无米之炊,要想进行文本分析,首先得到有文本吧。获取文本的方式有很多,比如从网上下载现成的文

python网络编程调用recv函数完整接收数据的三种方法 最近在使用python进行网络编程开发一个通用的tcpclient测试小工具。在使用socket进行网络编程中,如何判定对端发送一条报文是否接收完成,是进行socket

使用python遍历指定城市的一周气温 处于兴趣,写了一个遍历指定城市五天内的天气预报,并转为华氏度显示。把城市名字写到一个列表里这样可以方便的添加城市。并附有详细注释importre

本文链接地址:https://www.jiuchutong.com/biancheng/377169.html 转载请保留说明!

上一篇:使用Python对Access读写操作(python os.access)

下一篇:Python爬取网易云音乐热门评论(Python爬取网易云一首歌的全部评论并进行分析)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络