Django应用程序中如何发送电子邮件详解
框架(架构)  /  管理员 发布于 7年前   167
前言
在Django应用程序中发送电子邮件最常见的用例是密码重置、帐户激活和发送与您的应用程序相关的一般通知。下面来看看详细的介绍吧。
配置Django发送电子邮件
要配置您的Django应用程序,添加下面的参数到你settings.py:
# 主机EMAIL_HOST = "smtp.sina.com"# 端口EMAIL_PORT = 25# 发件人邮箱EMAIL_HOST_USER = "[email protected]"# 密码EMAIL_HOST_PASSWORD = "ansheng.me"# 是否使用httpsEMAIL_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 shellIn [1]: from django.core.mail import send_mailIn [2]: send_mail("这是邮件标题", "这是邮件主体", '[email protected]', ['[email protected]'])# 返回值将是成功传递的消息的数量(可以是0或1,因为它只能发送一个消息)Out[2]: 1
打开接收邮件的邮箱看看是否已经接收到邮件了?
同时发送多封电子邮件
send_mass_mail()
所提供的参数值
属性 | 描述 |
---|---|
datatuple | 接收一个一个元组,每个元素都是(subject, message, from_email, recipient_list)这种格式 |
小栗子
In [1]: message1 = ("这是第一封邮件标题", "这是第一封邮件主体", '[email protected]', ['[email protected]'])In [2]: message2 = ("这是第二封邮件标题", "这是第二封邮件主体", '[email protected]', ['[email protected]'])In [3]: from django.core.mail import send_mass_mailIn [4]: send_mass_mail((message1,message2),fail_silently=False)Out[4]: 2
返回值将是已成功发送邮件的消息数。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对AIDI的支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号