本章知识点
1、发送邮件验证码
2、发送短信验证码
3、基于django的短信和邮件注册
知识点讲解
1、发送邮件
Smtp:轻量级邮件发送协议,邮件的发送和接收人。我们今天采用163邮箱的smtp服务器
IMAP 发邮件
Pop3 收邮件
使用网易163邮箱。开启163的smtp服务器(绑定自己的手机)
163邮箱地址:https://mail.163.com/
点击开启之后,需要短信验证。
然后开启IMAP/SMTP
腾讯smtp服务器:
基本操作和163一样。
邮件校验思路:
思路:
邮件的功能、
import smtplib登录smtp服务器为了发送邮件
form email.mime.text import MIMEText # 构建邮件
#构建邮件
message = MIMEText(content,“html”,“utf-8”)内容。类型。编码格式
message[“subject”]=“title” message[“To”]=recver
message[“from”]= sender
#发送邮件
Smtp = smtplib.SMTP_SSL(host,port)
Smtp.login(sender,password)#oassword是授权码。不是登录密码。
Smtp.send_mail(sender,[recver],message.as_string())
sender#发送人
recver#收件人
message.as_string#消息
Smtp.close
Django 封装了发送邮件的功能
From django.core.email import EmailMultAlterNatives
#settings里设置
EMAIL_USER
EMAIL_PASSWORD
EMAIL_HOST
EMAIL_PORT
发送邮件注册的逻辑:
提交邮箱
ajax向提交的邮箱发送密码,并且将验证码存入数据库中。
用户收到验证码后,填写验证码并提交
后台校验验证码:
#验证码是否存在
#验证码是否过期
#验证码是否对应
过期则删除,注册成功后也删除验证码。
注册成功返回login页面
下面为完整代码:
先在settings.py里面添加:
然后回到视图中填写代码:
发送短信验证需要借助平台api借口:
3、基于django的短信和邮件注册
发送邮件进行注册
1、提交邮箱
Value
Time
邮箱地址
2、发送验证邮件
包含验证码/链接
3、跳回网站,完成注册
发送短信进行注册
1、发送验证码
2、验证码入库
Value
Time
手机号
3、提交验证码
4、比对,确认
1、django本身带有邮件发送功能
1、settings配置
EMAIL_HOST_USER = ‘xxx@163.com’
EMAIL_HOST_PASSWORD = ‘xxx23’
EMAIL_USE_SSL = True
EMAIL_HOST = “smtp.163.com”
EMAIL_PORT = 994
2、发送邮件代码
from django.core.mail import EmailMultiAlternatives
from django.http import JsonResponse
def sendMessage(request):
result = {“staue”: “error”,“data”:""}
try:
本章总结
发送短信
发送邮件
基于django的短信和邮件注册