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标准算法实现数组全排列的方法
Mar 17 Python
Python调用C语言开发的共享库方法实例
Mar 18 Python
python获取当前计算机cpu数量的方法
Apr 18 Python
python2.7 mayavi 安装图文教程(推荐)
Jun 22 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
Django多数据库的实现过程详解
Aug 01 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
Python进程池Pool应用实例分析
Nov 27 Python
如何利用Python matplotlib绘制雷达图
Dec 21 Python
Python数据分析之pandas函数详解
Apr 21 Python
python多线程方法详解
Jan 18 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
BBS(php & mysql)完整版(一)
2006/10/09 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
phpize的深入理解
2013/06/03 PHP
解析yii数据库的增删查改
2013/06/20 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
2014/06/12 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
JS动画效果代码3
2008/04/03 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
jquery实现增加删除行的方法
2015/02/03 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
浅谈Javascript数组(推荐)
2016/05/17 Javascript
微信小程序 window_x64环境搭建
2016/09/30 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
angularjs select 赋值 ng-options配置方法
2018/02/28 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
python生成word合同的实例方法
2021/01/12 Python
使用numpngw和matplotlib生成png动画的示例代码
2021/01/24 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
上海方立数码笔试题
2013/10/18 面试题
财务管理专业自荐信范文
2013/12/24 职场文书
大学生实习思想汇报
2014/01/12 职场文书
一年级班主任感言
2014/03/08 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python