1 / 4
文档名称:

Django实现邮件的发送(含源码).docx

格式:docx   大小:39KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Django实现邮件的发送(含源码).docx

上传人:simple 2021/7/18 文件大小:39 KB

下载得到文件列表

Django实现邮件的发送(含源码).docx

文档介绍

文档介绍:Django实现邮件的发送(含源码)
本节讲解 Web 项目中,经常使用的邮件的发送功能。它的应用场景大家一定不会陌生,比如用户注册成功时,会给用户输入的邮箱发送激活邮件进行验证,或者在找回密码的时候,需要使用邮箱进行验证,才可以实现密码修改。
1. 邮件发送异步问题分析
在实际项目中进行邮件的发送,要考虑很多问题,比如发送邮件的时,不应该等待时间太长,否则就会影响到用户体验,所以一般采用异步的方式发送邮件,所谓异步就是两个任务甚至多个任务同时进行,即邮件发送的操作时不会影响到其他任务的进行。
在 Django 需要使用 Celery 来实现异步功能,它是一个简单、灵活且可靠的,能够处理大量消息的分布式系统。Celery 适用异步处理问题,比如发送邮件、文件上传以及图像处理等比较耗时的操作,异步操作可以有效的提升用户体验。
注意:我们在这里提出 Cerely ,只是提供一种解决问题的思路,有兴趣可以自己研究。
2. 实现QQ邮箱发送邮件
因为 QQ 邮箱覆盖用户比较广,所以本节我们以实现 QQ 邮箱发送电子邮件来讲解,但是无论是什么邮箱,它们的实现方法是类似的。
Django 支持电子邮件发送,是因为它对邮件发送的 STM 协议进行了封装。大家接都触过网络协议,我们知道 SMTP 协议就是用来支持邮件发送接收的协议,所以要实现邮件的发送功能,需要进行以下导包:
from import mail
然后调用 mail 的 send_mail 方法,该方法的定义如下:
def send_mail(subject, message, from_email, recipient_list,
fail_silently=False, auth_user=None, auth_password=None,
connection=None, html_message=None):
我们介绍主要参数的含义:
subject:邮件主题;
message:邮件正文内容;
from_email:发送邮件者;
recipient_list:邮件接受者列表;
html_message:带有标签格式的HTML文本。
1) 开启QQ邮箱POP3/SMTP服务
到这里大家需要跟着步骤来,首先你要登录你的邮箱,然后在邮箱界面找到设置选项点击一下,会得到如下所示界面:
图1:Django实现邮件发送功能
 
然后点击依次点击账户 ——>找到 POP3/IMAP/SMTP.....服务,然后点击该选项卡中的第一项,开启 POP3/SMTP 服务,如下所示:
图2:Django实现邮件发送功能
2) 获取POP3/SMTP第三方授权码
开启时,它需要你使用当时绑定的手机号,发送一条短信进行验证,按照它的提示发送成功后,点击已发送,就会生成一个授权码显示在你的浏览器界面上。记得保存好你的授权码,这个授权码在后面操作中还会用到,请务必妥善保管。
3)
当获得授权码后,我们就要在 Django 的 中进行相应的配置,切记,你没有必要记下这些配置,它的写法是固定的,当你需要的时候直接