大家好,我是公众号3分钟学堂的郭立员~

这期我们来做个邮箱验证功能,就是脚本激活的时候会往指定邮箱发送验证码,用户通过邮箱得到验证码,填入到脚本界面激活脚本。

先来看看效果展示,如下图所示:

按键精灵脚本怎么加卡密(脚本添加邮箱验证功能)(1)

这个脚本主要用到以下几个功能:

①界面内容的修改

②文本的读写

③发送邮件功能

基本上就是这些命令,做脚本的时候发现它的难点不在于命令的使用,而是整个脚本逻辑规划。

这个脚本有2个按钮,分别实现发送邮件功能和判断验证码是否正确的功能。

验证码是6位随机数字,发送给用户邮箱的同时写入到手机(模拟器)中,激活脚本时验证用户填写的验证码是否和本地存储的一致。

这里面要判断很多“意外”情况:

①用户是否激活过脚本,防止二次激活

通过本地是否有存储验证码的文本来判断有没有发过邮件;

通过本地是否有存储激活时间的文本来判断有没有激活脚本;

②用户是否填写了正确的邮箱

查找输入框内是否有@字符,通过@前面字符数量稍微判断一下是否为正常邮箱。

按键精灵脚本怎么加卡密(脚本添加邮箱验证功能)(2)

③用户是否填写正确的验证码

判断验证码的输入框填写内容是不是6位数字。

按键精灵脚本怎么加卡密(脚本添加邮箱验证功能)(3)

④邮件格式,通过\n进行换行。

按键精灵脚本怎么加卡密(脚本添加邮箱验证功能)(4)

下面是我写的源码:

Function 获取验证() Dim path="/sdcard/pictures/code.txt" If Dir.Exist(path) = 0 Then Dim inmail=uip.GetAttribute("输入框1") If Len(inmail["初始文本"]) = 0 or instr(1,inmail["初始文本"],"@")<5 Then ShowMessage "请填写正确的邮箱!" Else Dim code=RndCode() Dim mail=inmail["初始文本"] file.write (path, code) If sentmsg(mail, code) Then ShowMessage "激活码已经发送,请尽快登录邮箱查看!" End If End If Else showmessage "已经激活过脚本" End If End Function Function 激活脚本() Dim path="/sdcard/pictures/code.txt" Dim path_time="/sdcard/pictures/time.txt" Dim incode=uip.GetAttribute("输入框2") If Dir.Exist(path_time) = 1 Then showmessage "该设备已经激活过脚本" Exit Function End If If Dir.Exist(path) = 0 Then ShowMessage "先完成邮箱激活" Else If Len(incode["初始文本"]) <> 6 Then ShowMessage "请填写正确验证码" Else Dim code=file.read(path) If incode["初始文本"] = code Then ShowMessage "激活成功!" UIP.SetAttribute "按钮2", {"显示内容":"已激活!"} file.write(path_time,time()) Else showmessage "验证码错误!" End If End If End If End Function Function RndCode() Dim str="" For 6 str=str&int(10*rnd()) Next RndCode=str End Function Function sentmsg(mail,code) Dim 服务器="smtp.qq.com" Dim 发件人邮箱="xxxxxx@qq.com" Dim 密码="xxxxxxxxxx" Dim 主题="XX脚本验证!" Dim 内容="您好!\n欢使用册XX脚本,请将验证码填写到脚本激活页面,\n验证码:"&code Dim 收件地址=mail dim 返回值 = SendSimpleEmail(服务器,发件人邮箱,密码,主题,内容,收件地址) sentmsg= 返回值 End Function

这个脚本可以用在测试版,给用户免费试用,同时限制用户反复激活,需要注意一点就是本地存储验证的文本,尽量藏得隐蔽点,以防用户手动删除,然后可以反复多次试用脚本。

好了内容就这些,觉得还行帮忙给文章点个赞。

=正文完=

,