Django应用程序中如何发送电子邮件详解


Posted in Python onFebruary 04, 2017

前言

在Django应用程序中发送电子邮件最常见的用例是密码重置、帐户激活和发送与您的应用程序相关的一般通知。下面来看看详细的介绍吧。

配置Django发送电子邮件

要配置您的Django应用程序,添加下面的参数到你settings.py:

# 主机
EMAIL_HOST = "smtp.sina.com"
# 端口
EMAIL_PORT = 25
# 发件人邮箱
EMAIL_HOST_USER = "anshengme@sina.com"
# 密码
EMAIL_HOST_PASSWORD = "ansheng.me"
# 是否使用https
EMAIL_USE_TLS = False
# 发件人
EMAIL_FROM = "安生"

发送邮件

先看看send_mail()方法提供了那些参数:

参数 描述
subject 邮件标题
message 邮件正文
from_email 发送者
recipient_list 收件人列表
fail_silently 布尔值,
auth_user 用于向SMTP服务器进行身份验证的可选用户名,如果未提供此项,Django将使用EMAIL_HOST_USER设置的值
auth_password 用于向SMTP服务器进行身份验证的可选密码,如果未提供此项,Django将使用EMAIL_HOST_PASSWORD设置的值
connection 用于发送邮件的可选电子邮件后端,如果未指定,将使用默认后端的实例
html_message 如果提供了html_message,则生成的电子邮件将是一个多部分/替代电子邮件,其消息为text/plain内容类型,html_message为text/html内容类型。

然后我们进入带django shell环境变量的python解释器,然后发送一个邮件试试?

$ python3 manage.py shell
In [1]: from django.core.mail import send_mail
In [2]: send_mail("这是邮件标题", "这是邮件主体", 'anshengme@sina.com', ['ianshengme@gmail.com'])
# 返回值将是成功传递的消息的数量(可以是0或1,因为它只能发送一个消息)
Out[2]: 1

打开接收邮件的邮箱看看是否已经接收到邮件了?

Django应用程序中如何发送电子邮件详解

同时发送多封电子邮件

send_mass_mail()所提供的参数值

属性 描述
datatuple 接收一个一个元组,每个元素都是(subject, message, from_email, recipient_list)这种格式

小栗子

In [1]: message1 = ("这是第一封邮件标题", "这是第一封邮件主体", 'anshengme@sina.com', ['ianshengme@gmail.com'])
In [2]: message2 = ("这是第二封邮件标题", "这是第二封邮件主体", 'anshengme@sina.com', ['ianshengme@gmail.com'])
In [3]: from django.core.mail import send_mass_mail
In [4]: send_mass_mail((message1,message2),fail_silently=False)
Out[4]: 2

返回值将是已成功发送邮件的消息数。

Django应用程序中如何发送电子邮件详解

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python 除法小技巧
Sep 06 Python
python使用Flask框架获取用户IP地址的方法
Mar 21 Python
Python 读写文件和file对象的方法(推荐)
Sep 12 Python
Python实现简易版的Web服务器(推荐)
Jan 29 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 Python
Python实现七个基本算法的实例代码
Oct 08 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 Python
pandas求平均数和中位数的方法实例
Aug 04 Python
Python算法应用实战之栈详解
Feb 04 #Python
Python算法应用实战之队列详解
Feb 04 #Python
python模块之re正则表达式详解
Feb 03 #Python
Python用threading实现多线程详解
Feb 03 #Python
win10环境下python3.5安装步骤图文教程
Feb 03 #Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 #Python
利用python画一颗心的方法示例
Jan 31 #Python
You might like
做一个有下拉功能的留言版
2006/10/09 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
自定义vue全局组件use使用、vuex的使用详解
2017/06/14 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
python爬取w3shcool的JQuery课程并且保存到本地
2017/04/06 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
numpy中的高维数组转置实例
2018/04/17 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
日语专业毕业生自荐信
2013/11/11 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
校园环保标语
2014/06/13 职场文书
学习十八届四中全会依法治国心得体会
2014/11/03 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android