现在这个短信通知泛滥的年代;应用如果没有个短信注册;你都不敢说你是搞开发的;

这个验证码搞起来是不难的;但是如果刚接触也是有点不知从哪下手的迷茫;

先讲下概念;

要想发送验证码;需要至少三项;appid、key、模板id;

appid、和key比如较容易理解;各种第三方平台都会提供的;可能叫法不一样;

模板id就是指的短信的内容;例如【淘宝】验证码是192612,请您在5分钟内输入;

这就是一个模板;我们发短信的时候只能改变192612、和5这两个数字;其他是固定的;

因为政策的问题;模板需要申请并审核;一般1个工作日就过了;

下面来具体写流程;

1:找一个靠谱的短信验证码平台;推荐如下使用过的;下面以容联云通讯为例;其他平台一个道理;

阿里大鱼:http://www.alidayu.com/service?spm=a3142.7802752.1.4.oAfDUZ&_t=2#sms

容联云通讯:http://www.yuntongxun.com/

2:注册;登录;认证;都是废话;拿到ACCOUNT SID、AUTH TOKEN;

3:创建一个应用;

4:新增一个模板;

5:等审核通过;拿到模板ID;好;到此;完成;

6:完成?想多了吧;这是刚达到了可以发送验证码的基本条件;接着下载官方的SDK;

标题挂着Thinkphp集成短信验证码的;再不写thinkphp;想必是要被喷成渣!渣都不剩!

所有的源代码都可以在我的开源项目bjyadmin中找到:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin

以我的开源项目为例;放在/ThinkPHP/Library/Org/Xb/RongCloud.class.php

7:在公共函数库中增加函数/Application/Common/Common/function.php

/**
* 发送 容联云通讯 验证码
* @param int $phone 手机号
* @param int $code 验证码
* @return boole 是否发送成功
*/
function send_sms_code($phone,$code){
//请求地址,格式如下,不需要写https://
$serverIP='app.cloopen.com';
//请求端口
$serverPort='8883';
//REST版本号
$softVersion='2013-12-26';
//主帐号
$accountSid=C('RONGLIAN_ACCOUNT_SID');
//主帐号Token
$accountToken=C('RONGLIAN_ACCOUNT_TOKEN');
//应用Id
$appId=C('RONGLIAN_APPID'); $rest = new \Org\Xb\Rest($serverIP,$serverPort,$softVersion);
$rest->setAccount($accountSid,$accountToken);
$rest->setAppId($appId);
// 发送模板短信
$result=$rest->sendTemplateSMS($phone,array($code,5),59939);
if($result==NULL) {
return false;
}
if($result->statusCode!=0) {
return false;
}else{
return true;
}
}

8:把ACCOUNT SID、AUTH TOKEN、模板id 填到配置项/Application/Common/Conf/config.php 中

'RONGLIAN_ACCOUNT_SID'   => '', //容联云通讯 主账号 accountSid
'RONGLIAN_ACCOUNT_TOKEN' => '', //容联云通讯 主账号token accountToken
'RONGLIAN_APPID' => '', //容联云通讯 应用Id appid
'RONGLIAN_TEMPLATE_ID' => '', //容联云通讯 模板Id

9:调用函数:send_sms_code('手机号','验证码');即可

我最近在整理的开源项目已经是集成好了;这一切;只需要在配置项填空;就可以发短信了;

童鞋们需要的可以直接git clone测试:http://git.oschina.net/shuaibai123/thinkphp-bjyadmin

本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客http://baijunyao.com

thinkphp整合系列之短信验证码、订单通知的更多相关文章

  1. flask开发restful api系列(5)-短信验证码

    我们现在开发app,注册用户的时候,不再像web一样,发送到个人邮箱了,毕竟个人邮箱在移动端填写验证都很麻烦,一般都采用短信验证码的方式.今天我们就讲讲这方面的内容. 首先,先找一个平台吧.我们公司找 ...

  2. C++ 短信验证码/通知 - 代码示例

    //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. // ///////////////////账户注册:请通过该地址开通账户http://user.ihuyi.com/regi ...

  3. Python3实现发送邮件和发送短信验证码

    Python3实现发送邮件和发送短信验证码 Python3实现发送邮件: import smtplib from email.mime.text import MIMEText from email. ...

  4. .net 实现之短信验证码

    接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. 账户注册:请通过该地址开通账户http://sms.ihuyi.com/register.html 只能测试用: 实现注册页面 & ...

  5. 云平台短信验证码通知短信java/php/.net开发实现

    一.本文目的 大部分平台都有一个接入发送短信验证码.通知短信的需求.虽然市场上大部分平台的接口都只是一个非常普通的HTTP-GET请求,但终归有需要学习和借鉴使用的朋友. 本文的初衷是主要提供学习便利 ...

  6. thinkphp整合系列之极验滑动验证码

    对于建站的筒子们来说:垃圾广告真是让人深恶痛绝:为了清净:搞个难以识别的验证码吧:又被用户各种吐槽:直到后来出现了极验这个滑动的验证码:这真是一个体验好安全高的方案:官网:http://www.gee ...

  7. thinkphp结合云之讯做短信验证码

    thinkphp结合云之讯做短信验证码先去云之讯注册账号 网址http://www.ucpaas.com/ 注册云之讯平台账号,即可免费获得10元测试费用测试够用啦 解压附件到 ThinkPHP\Li ...

  8. SpringSceurity(4)---短信验证码功能实现

    SpringSceurity(4)---短信验证码功能实现 有关SpringSceurity系列之前有写文章 1.SpringSecurity(1)---认证+授权代码实现 2.SpringSecur ...

  9. Atitit usrQBM1603短信验证码规范

    Atitit usrQBM1603短信验证码规范 短信验证码扩展至短信服务和验证码服务1 主要方法1 参考模板1 短信验证码扩展至短信服务和验证码服务 主要方法 Line 27: public cla ...

随机推荐

  1. wefwewewe

    <a hred="https://www.baidu.com">dssf</a>

  2. electron的艰难安装之旅

    最近对前端开发很感兴趣,抽空研究了下前段的开发工具,发现比较流行的是sublime,atom,vscode等, 由于一直以来从事.net开发所以对vscode很感兴趣,在vscode的安装配置过程偶然 ...

  3. Learning C# by Developing Games with Unity 5.x(2nd)

    项目:https://pan.baidu.com/s/1o7IMcZo using UnityEngine; using System.Collections; namespace VoidGame ...

  4. jquery学习笔记2——jq效果

    一.显示隐藏: 可以使用show()和hide()方法来显示隐藏: $("#hide").click(function(){ $("p").hide(); }) ...

  5. LEK-Introduction-Installation-Usage-new

    LEK is a set of tools which can take data from any source and search, analyze, and visualize it in r ...

  6. Python语法点滴

    string: string.capitalize()  把字符串的第一个字符大写 string.startswith(obj)  string.endswith(obj) string.find(s ...

  7. mac安装软件系列

    1,mac安装homebrew,注意不能用root权限安装 #ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew ...

  8. 【第一篇】Volley的使用之json请求

    最近项目写完,有开始新的学习了,volley很久以前就接触了,也看了源码,然而却没有通过文章去记录自己的学习成果. 首先讲下volley的特点: 1,扩展性强.Volley 中大多是基于接口的设计,可 ...

  9. Directed Roads

    Directed Roads 题目链接:http://codeforces.com/contest/711/problem/D dfs 刚开始的时候想歪了,以为同一个连通区域会有多个环,实际上每个点的 ...

  10. 《JS权威指南学习总结--第十一章子集和扩展》

    js子集和扩展:http://www.cnblogs.com/ahthw/p/4298449.html ES6新增let和const关键字:http://www.cnblogs.com/telnetz ...