网页的短信与邮箱注册
Django商城短信和邮箱注册
本章知识点
1、发送邮件
2、发送短信
3、基于django的短信和邮件注册
知识点讲解
一、邮箱注册
1、发送邮件
Smtp:轻量级邮件发送协议,邮件的发送和接收人。我们今天采用163邮箱的smtp服务器
IMAP 发邮件
Pop3 收邮件
Smtp协议格式:
邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意 邮件的格式。 这个格式就是 smtp 协议中定义的格式。
2、开启163的smtp服务器(绑定自己的手机)
163邮箱地址:https://mail.163.com/
SSL(Secure Sockets Layer 安全套接层)SSL在传输层对网络连接进行加密
3、设置授权码:
4、代码
(1)、发送纯文本内容
(2)、发送html页面
6、基于django的邮件注册
(1).发送邮件
(1) .点击获取验证码按钮,发送邮件,获取验证码
(2) .将邮箱、验证码、时间戳保存到数据库。
(2).校验功能
(1).从数据库中获取保存的邮箱、验证码、时间戳进行比较
如果都相同则跳转到登陆页面。
如果不正确注册页面进行提示。
代码:
(1)、settings.py中进行配置
EMAIL_HOST_USER = 'python_liurui@163.com'
EMAIL_HOST_PASSWORD = 'admin123'
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 994
(2)、模型类
class EmailValid(models.Model):value = models.CharField(max_length=32) # 验证码email_address = models.EmailField() # 邮箱地址time = models.DateTimeField() # 时间戳
<script>$(function () {// 1.获取验证码按钮监听$("#zphone").click(function () {// 2.获取邮箱var email = $("#email").val();$.ajax({url: "/buyer/send_message/?email="+email,type: "GET",data: "",success: function (data) {alert(data)}})})})
</script>
(4)、ajax发送请求视图函数
#ajax发送请求,向邮箱发送邮件
#ajax发送请求,向邮箱发送邮件
def send_message(request):result = {'state':'error','data':''}if request.method == 'GET':#1.获取邮箱recver = request.GET.get('email') #接受人 @qq.comif recver:try:subject = '校内购物系统发送的校验码'text_content = 'hello,xiaoyuan'value = get_random_data()html_content = '<div><p>您好,你的验证码为:%s,请勿告诉他人</p></div>'%valuemessage = EmailMultiAlternatives(subject,text_content,'13262621737@163.com',[recver])message.attach_alternative(html_content, 'text/html')message.send()except Exception as e:result['data'] = str(e)else:result['state'] = 'success'result['data'] = 'success'#保存到数据库email_valid = EmailValid()email_valid.value = valueemail_valid.time = datetime.datetime.now()email_valid.email_address = recveremail_valid.save()finally:return JsonResponse(result)return render(request, 'buyer/register_mail.html')
(5)、form表单提交的邮箱、验证码、密码
(6)、视图函数
def register_email(request):result = {'state':'error','data':''}if request.method == 'POST':#1.获取表单提交的内容email_addr = request.POST.get('username') #邮箱code = request.POST.get('code') #验证码userpass = request.POST.get('userpass') #密码email = EmailValid.objects.filter(email_address=email_addr).first()if email:'''判断验证码'''if code == email.value:'''判断时间戳'''now = time.mktime(datetime.datetime.now().timetuple()) #当前时间db_time = time.mktime(email.time.timetuple()) #数据库保存时间if now-db_time >= 600: #一分钟result['data'] = '验证码过期了'# 删除数据库中的信息。email.delete()else:#保存此用户buyer = Buyer()buyer.name = email_addr #邮箱buyer.password = pwd_encrypt(userpass) #密码buyer.save()result['state'] = 'success'result['data'] = 'success'#删除数据库中的数据emailvalidemail.delete()#重定向到登录界面return redirect('/buyer/login/')else:result['data'] = '验证码错误'else:result['data'] = '用户不存在'
二、短信注册
1、短信发送平台:http://www.ihuyi.com/
2、注册账户
3、登录
4、首页
5、验证码通知短信
默认是10条免费,API接口信息 APPID 和 APPKEY 需要使用,先保存下来。
6、文档中心下载接口文档
文档浏览:
7、短信内容模板
8、阅读demo,告诉用户使用方式
8、代码
(1).下载requests模块
(2).
#coding:utf-8import requestsurl = "http://106.ihuyi.com/webservice/sms.php?method=Submit" #请求地址#固定的参数
mobile = "13331153360" account = "C85050877" password = ""#请求的头部
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}#数据整合
data = {"account": account,"mobile": mobile,"password": password,"content": "您的验证码是:9527。请不要把验证码泄露给其他人。"
}
#发起请求
response = requests.post(url = url,data = data, headers = headers)
#接收返回内容
resutl = response.content.decode()
print(resutl)
网页的短信与邮箱注册相关推荐
- 016:Django商城短信和邮箱注册
本章知识点 1.发送邮件验证码 2.发送短信验证码 3.基于django的短信和邮件注册 知识点讲解 1.发送邮件 Smtp:轻量级邮件发送协议,邮件的发送和接收人.我们今天采用163邮箱的smtp服 ...
- Django短信和邮箱注册、支付宝沙箱的使用
邮箱注册 发送邮件 Smtp:轻量级邮件发送协议,邮件的发送和接收人.我们今天采用163邮箱的smtp服务器 IMAP 发邮件 Pop3 收邮件 开启163的smtp服务器(绑定自己的手机) 163邮 ...
- 网页版短信平台发送教程【图文】
2021网页版短信平台发送教程[图文] 一.登录账户 在进行短信发送前,请先完成您的账户注册和配置,登录账号->短信->开通产品->根据需求购买事务类或通用运营类资源包. 详情如下图 ...
- IFTTT的简单使用-转发安卓手机的短信到邮箱
我相信大家自己摸索一下也可以玩转起来这个小工具. 背景: IFTTT是if this than that 的缩写,它其实是一种设计理念,当然也是我们现在要使用的软件的名字.在我初步使用看来它是一种图形 ...
- Android之调取本地通讯录、发送短信、邮箱、微信发送
前言:在我们开发中会遇到一些信息发送开发需求,我们那时就会用到我们要选择我们要发送的客户对象.选择发送的方式如短信.邮箱.微信等等方式来进行信息的发送. 如下str为要发送的内容,account 为我 ...
- 如何使用短信验证码完成注册功能
如何使用短信验证码完成注册功能 一. MD5加密工具类 import java.security.MessageDigest; import java.security.NoSuchAlgorithm ...
- 手机短信验证码一键注册登录功能开发 1
1. 首先根据业务分析, 先要在前端填写我们的手机号, 发送短信验证码给我们的用户 对于我们后端来说, 发送验证码就是我们要开发的接口, 手机号就是我们传入的参数,然后就可以编写相应的代码了 @Api ...
- android 短信超链接,Android处理网页的短信链接
最近遇到了很多网页,尤其是通过短信找回密码的网站,其规范格式为106659999,但是各个系统对这个格式支持也不是很统一的,我先后在ios和windows Phone上做了测试,在ios上会跳转到短信 ...
- 使用短信登录和注册的流程
现在各个网站普遍使用的登录认证方式是使用短信认证登录,并且在用户与服务器交互的过程中这部分功能需要被多次调用,所以在项目中不可避免地要包括这一部分,学习之后,在此记录其流程: 实现短信认证登录可以有两 ...
- java微信公众号短信验证码_解决微信端公众号网页获取短信验证码ajax重复调用两次的问题...
问题背景介绍: 微信公众号网页开发的时候,点击发送短信验证码,如果响应时间超长,目前测试是10秒左右(这个10秒左右,是我自己多次测试总结出来的规律) 超过10秒左右,就会自动请求第二遍,这个问题挺恶 ...
最新文章
- hihoCoder 1051 补提交卡(贪心,枚举)
- 用onerror处理图片获取失败问题
- vue2 + vue-router + vuex + iview 入门项目
- 泰拉瑞亚服务器权限文件,泰拉瑞亚云服务器权限
- .c和.cpp的区别
- Spring集成TestNg测试
- 推荐系统——开源代码
- SQL SERVER With语法[转]
- 【laravel5.4】迁移文件的生成、修改、删除
- ASP.NET实现页面传值的几种方法
- Python 检测系统时间,k8s版本,redis集群,etcd,mysql,ceph,kafka
- 开源项目:浏览器前进后退发现请求了接口,也有数据返回,但是前端并没有渲染数据是什么问题?
- blender源代码分析----第三方库的说明
- mangodb与mysql的区别
- PS把模糊的照片变清晰
- 台式计算机连接wifi适配器遇到问题,台式机连接wifi不稳定怎么办_台式电脑接wifi会不稳定解决方法-win7之家...
- stm32—酒精传感器的初步使用
- word中多级列表操作问题
- 2021-2025年中国废水泵行业市场供需与战略研究报告
- “/”应用程序中的服务器错误的解决办法
热门文章
- python苹果手机照片导入电脑_通过python获取苹果手机备份文件中的照片,视频等信息采集...
- python实现鼠标自动点击屏幕
- Elasticsearch 父子关系
- nginx反向代理实现直接域名访问
- 【开发环境】Ubuntu 安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Ubuntu 安装 deb 包 )
- php xml 修改节点值,.NET_XML文件修改节点属性值(多种方法),xml 文件内容: 复制代码 代码如 - phpStudy...
- 简单几步解决 svchost 占用资源过高的问题
- 乘法鉴相器的matlab仿真,种用MATLAB仿真锁相环方法.PDF
- 近年来小学计算机课程目录,小学3-6年级信息技术课程目录(苗逢春版)
- 过滤掉Abp框架不需要记录的日志