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递归遍历列表及输出的实现方法
May 19 Python
使用python实现rsa算法代码
Feb 17 Python
详解duck typing鸭子类型程序设计与Python的实现示例
Jun 03 Python
Python使用Matplotlib实现Logos设计代码
Dec 25 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
Python argparse模块应用实例解析
Nov 15 Python
python enumerate内置函数用法总结
Jan 07 Python
基于python实现判断字符串是否数字算法
Jul 10 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
Python os和os.path模块详情
Apr 02 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
PHP 输出简单动态WAP页面
2009/06/09 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
在angularJs中进行数据遍历的2种方法
2018/10/08 Javascript
vue keep-alive 动态删除组件缓存的例子
2019/11/04 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
进一步探究Python中的正则表达式
2015/04/28 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
python3安装pip3(install pip3 for python 3.x)
2018/04/03 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
出纳岗位职责范本
2013/12/01 职场文书
公司面试感谢信
2014/02/01 职场文书
重阳节登山活动方案
2014/02/03 职场文书
医生个人自我剖析材料
2014/10/08 职场文书
2014年保管员工作总结
2014/11/18 职场文书
高校自主招生自荐信2015
2015/03/04 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
golang生成并解析JSON
2022/04/14 Golang
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python