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类继承与子类实例初始化用法分析
Apr 17 Python
python中lambda与def用法对比实例分析
Apr 30 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
简单了解什么是神经网络
Dec 23 Python
利用 python 对目录下的文件进行过滤删除
Dec 27 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
flask框架渲染Jinja模板与传入模板变量操作详解
Jan 25 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Python numpy多维数组实现原理详解
Mar 10 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 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批量生成缩略图的代码
2008/07/19 PHP
php图片加中文水印实现代码分享
2012/10/31 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
PHP微信开发用Cache 解决数据缓存
2016/07/11 PHP
javascript对象之内置对象Math使用方法
2010/04/16 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
jcrop基本参数一览
2013/07/16 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
JS实现表单中checkbox对勾选中增加边框显示效果
2015/08/21 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
JS动态给对象添加属性和值的实现方法
2016/10/21 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
javascript 正则表达式分组、断言详解
2017/04/20 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
JavaScript实现各种排序的代码详解
2017/08/28 Javascript
详解vue axios中文文档
2017/09/12 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
git进行版本控制心得详谈
2017/12/10 Python
numpy自动生成数组详解
2017/12/15 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
美国最大的网络男装服装品牌:Bonobos
2017/05/25 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
俄罗斯园林植物网上商店:Garshinka
2020/07/16 全球购物
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
效能监察建议书
2014/05/19 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript
手把手教你用SpringBoot将文件打包成zip存放或导出
2021/06/11 Java/Android