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

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

先讲下概念;

要想发送验证码;需要至少三项;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. iOS 打包上传AppStore相关(2)-Xcode相应配置

    上一篇描述了如何在AppleDeveloper创建Certificates.App IDs和Provisioning Profiles的过程.本篇将详细描述在Xcode部分我们需要做的配置. 1.配置 ...

  2. pythonRedis 订阅功能实现

    两天机器做,host要写订阅主机的ip,客户端发消息,服务端订阅消息 cat redis_connector.py #!/usr/bin/env python__author__ = 'Q.Li'im ...

  3. 1.部分(苹果)移动端的cookie不支持中文字符,2.从json字符串变为json对象时,只支持对象数组

    1.移动端的cookie不支持中文字符.可以用编码,解码的方式解决. 2.json字符串变成相应 的,json对象数组字符串.就这样 3.不同客户端(移动端.电脑)的请求,在C#服务端的取时间的格式竟 ...

  4. 【转】母函数(Generating function)详解 — TankyWoo(红色字体为批注)

    母函数(Generating function)详解 - Tanky Woo 在数学中,某个序列的母函数(Generating function,又称生成函数)是一种形式幂级数,其每一项的系数可以提供 ...

  5. 给hexo添加评论系统

    默认主题 landscape 文件目录,comments为新建的 _config.yml layout -- _partial -- article.ejs |- comments -- disqus ...

  6. 3、File类之创建、删除、重命名、判断方法

    一般我们调用内置类的方法,都是指调用其成员方法,故而以下几种方法都是File类的成员方法,常用的有以下3种, 分别是 //创建 public boolean createNewFile() publi ...

  7. Algorithm 算法

    http://www.cnblogs.com/baiboy/category/723479.html 记下来,有空去看 随笔分类 - Algorithm   [项目总结]自然语言处理在现实生活中运用 ...

  8. Centos虚拟机安装分区分配

    i 安装hadoop虚拟机

  9. NOIP2011-普及组复赛模拟试题-第二题-买票

    题目背景 Background Ztc真的遇上黄牛了...  题目描述 Description   周末Ztc想去剧场看演出,但是他没有票.这时,救世主Wzj出现了,他慷慨地愿意卖给Ztc一些票.   ...

  10. LeadTools答题卡识别方案

    /// <summary> /// 批改操作 /// </summary> public AnswerCard DoCorrect(Stream AnserCardFile) ...