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中用Descriptor实现类级属性(Property)详解
Sep 18 Python
python实现简单购物商城
May 21 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
python实现根据指定字符截取对应的行的内容方法
Oct 23 Python
Python正则匹配判断手机号是否合法的方法
Dec 09 Python
Python判断有效的数独算法示例
Feb 23 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
Python中zip函数如何使用
Jun 04 Python
Python加密与解密模块hashlib与hmac
Jun 05 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
Protoss兵种介绍
2020/03/14 星际争霸
也谈截取首页新闻 - 范例
2006/10/09 PHP
php缓冲 output_buffering的使用详解
2013/06/13 PHP
php发送http请求的常用方法分析
2016/11/08 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
jquery ui resizable bug解决方法
2010/10/26 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
2012/01/04 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
使用JS动态显示文本
2017/09/09 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
[51:36]EG vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
Python三元运算实现方法
2015/01/12 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Python日志器使用方法及原理解析
2020/09/27 Python
详解Html5中video标签那些属性和方法
2019/07/01 HTML / CSS
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
婚礼证婚人证婚词
2014/01/13 职场文书
热情服务标语
2014/10/07 职场文书
代领报检证委托书范本
2014/10/11 职场文书
2015元旦节寄语
2014/12/08 职场文书
工作保证书
2015/01/17 职场文书
Python中OpenCV实现简单车牌字符切割
2021/06/11 Python
vue实现移动端div拖动效果
2022/03/03 Vue.js