1.前言
2.django
2.1 通过邮箱重置密码流程
2.2简单的发布邮件
2.3配置异步进行发邮件
2.4 重置密码完整代码
3.vue3
3.1vue3重置邮箱密码流程
3.2 vue3 具体代码及解析
1.前言
一般在登录一些社交平台时候,可能会忘记密码,然后就要通过手机号或者绑定邮箱找回密码,然后再进行重新登录。也相信在做的各位都有这种情况,那么就让我们一起来了解了解这奇妙的流程
2.django
2.1通过邮箱重置密码流程
找到code码对应的邮箱 进行密码修改 然后使用新密码进行登录
2.2简单的发布邮件
在QQ邮箱->设置->帐户->“POP3/IMAP......服务” 里得到的在第三方登录QQ邮箱授权码 在settings.py 里面进行配置
# 邮箱配置
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com' # 腾讯QQ邮箱 SMTP 服务器地址
EMAIL_PORT = 25 # SMTP服务的端口号
EMAIL_HOST_USER = '自己的qq邮箱' # 发送邮件的QQ邮箱
EMAIL_HOST_PASSWORD = '自己的授权码' # 在QQ邮箱->设置->帐户->“POP3/IMAP......服务” 里得到的在第三方登录QQ邮箱授权码
简单的发送邮件
from django.core import mail
class SendMail(APIView):
"""发送邮件"""
def post(self, request):
subject = '主题' #标题
message = "钰姐大美" # 可以html结构的页面内容
from_emil = '发件人的电子邮件' # 发件人的电子邮件
recipient_list = ['收件人的电子邮件'] # 收件人的电子邮件
result = mail.send_mail(subject, message, from_emil, recipient_list) # mail.send发送邮件
print('2222', result)
return Response({'code': '200', 'data': result})
2.3配置异步进行邮件发送
具体的讲解去看Li-Li的celery解释 http://t.csdn.cn/h4Vg2
这里就说如何加入异步任务
通过@celery_app.task 把指定的这个函数执行交给异步执行
异步任务调用 :异步方法.delay(参数) ---异步方法
如果没有delay() ------- 同步方法
import time
from celery_task import celery_app
# @app.task 指定将这个函数的执行交给celery异步执行
from django.core import mail
@celery_app.task
def test(mobile, code):
print('1111')
time.sleep(15)
return mobile + code
@celery_app.task(name='send_email')
def send_email1(subject, message, from_email, to_email):
# 如果是异步沉睡10s
time.sleep(10)
mail.send_mail(subject, message, from_email, to_email)