PHP TP5框架 发送短信验证码

news/2024/10/30 21:26:09/

       在实现用户注册、修改密码等验证情况时,经常需要用到发送手机验证码的功能,这里主要基于TP5框架,就云之讯、阿里云短信两个平台做下开发整理。

       主要分三个部分介绍,1、云之迅后端;2、阿里云后端;3、前端调用。

一、云之讯短信

       官网:http://www.ucpaas.com                                                                                                                                                           开发手册:http://docs.ucpaas.com/doku.php                                                                                                                                     原生demo:http://www.php.cn/course/885.html

       TP5框架开发:                                                                                                                                                                                       1、下载云之讯SDK 包;                                                                                                                                                                   2、在TP5框架的think 中引入SDK 包;                                                                                                                                             3、在控制其中引入:                                                                                                                                                                                           

          4、在控制器中写入发送方法:                                                                                                                                                       

         5、前端点击事件调用方法(该博文后面有详细思路与代码)。

二、阿里云短信

       后台、控制器具体操作参考  https://blog.csdn.net/list_yang/article/details/81626593   

      1、下载阿里云SDK 包 ,将api_adk复制到TP5 extend目录下,根据自己的需求可重命名,这里命名为alisms

             

      2、在你项目应用公共(函数)文件common.php头部添加

      

      3、将封装好的函数写入common.php中

/** @param $to    接收人* @param $model    短信模板ID* @param $code   短信验证码* @return json*/
function send_sms($to, $model, $code)
{require_once '../extend/alisms/vendor/autoload.php';Config::load(); //加载区域结点配置$config = Db::name('sms_config')->select();$accessKeyId = '对应自己的后台数据';$accessKeySecret = '对应自己的后台数据 ';$templateParam = $code;//短信模板IDswitch ($model) {case 1:$templateCode = $config[0]['sms_stencil_code']; // 注册登录短信验证码模板break;case 2:$templateCode = $config[1]['sms_stencil_code']; // 重置密码短信验证码模板break;}//短信API产品名(短信产品名固定,无需修改)$product = "Dysmsapi";//短信API产品域名(接口地址固定,无需修改)$domain = "dysmsapi.aliyuncs.com";//暂时不支持多Region(目前仅支持cn-hangzhou请勿修改)$region = "cn-hangzhou";// 初始化用户Profile实例$profile = DefaultProfile::getProfile($region, $accessKeyId, $accessKeySecret);// 增加服务结点DefaultProfile::addEndpoint("cn-hangzhou", "cn-hangzhou", $product, $domain);// 初始化AcsClient用于发起请求$acsClient = new DefaultAcsClient($profile);// 初始化SendSmsRequest实例用于设置发送短信的参数$request = new SendSmsRequest();// 必填,设置雉短信接收号码$request->setPhoneNumbers($to);// 必填,设置签名名称$request->setSignName('x网');// 必填,设置模板CODE$request->setTemplateCode($templateCode);// 可选,设置模板参数if ($templateParam) {$request->setTemplateParam(json_encode($templateParam));}//发起访问请求$acsResponse = $acsClient->getAcsResponse($request);//返回请求结果$result = json_decode(json_encode($acsResponse), true);// 具体返回值参考文档:https://help.aliyun.com/document_detail/55451.html?spm=a2c4g.11186623.6.563.YSe8FKreturn $result;
}

      4、在控制器中调用方法 ,参数依次是:手机号码、短信模版、验证码

       

 

   三、前端调用

                                                                                              

                                                 

                                                                                                   

        

     

      


http://www.ppmy.cn/news/312092.html

相关文章

PHP 做群发短信(短信接口连接问题)

首先写个方法: function sendSMS($http,$username,$password,$sendmobile,$send_content){ $httpurl $http; $data array ( USERNAME>$username, //用户账号 PASSWORD>$password, //用户密码 MOBILE>$sendmobile, //号码 …

JAVA利用飞信接口发送短信【已经失效】

飞信接口地址:http://w.ibtf.net/f.php Fetion工具类: package cpsa3.pack.util;import java.io.IOException; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.…

短信宝接入发送短信实测 Java

1丶注册短信宝 2 代码分为授权跟参数实体 授权实体 Data public class SmsBaoAuthorization {//http://api.smsbao.com/sms private String url;//在短信宝注册的用户名private String username;//在短信宝注册的密码 private String password; } 参数实体 Data pub…

飞信好友发短信

网上看到有网页版的飞信,http://fetionlib.appspot.com/可以添加好友,群发和定时发送短信给飞信好友,还开放了API接口供程序调用,可以用它来监控机器是否正常服务定期给管理员发短信,或者小规模的网站给会员发短信之类…

电信smgp3.0短信发送问题

smgp3.0短信 问题,返回错误码46 怎么解决 从网上下载的smgp的jar ,最终返回的status错误码是46 非法的发送方号码 ,求教怎么解决 SMGP3 smgp new SMGP3(); int socketID smgp.SMGP_Connect("135.0.69.90", 8891, "MSSFXPT&…

Python自动发短信

摘要:最近开发微信自动回复小程序,需要用到一个好友发消息自动短信通知我的功能,因此写了这个程序。主要使用Twilio网站提供的短信功能。 实现起来也是非常方便的。 作者博客地址:http://www.yooongchun.cn/ 首先到官网申请账号&a…

用计算机发短信,怎样发短信的步骤_教你如何使用电脑发短信!

",1)"> 教你如何使用电脑发短信! 今天我教大家一招怎样通过电脑跟别人收发信息。 首先我要说明几点 1我今天告诉大家的方法可以同时在电脑上收发信息也就是跟聊QQ一样的和别人发短信不需要触摸手机了~!超级方便 2发短信产生的费用跟你使用手机产生的费用一样也就是…

互发短信之SmsManager

短信管理器 : SmsManager 1. 在 Android 2.0 以前 应该使用 android.telephony.gsm.SmsManager 之后应该用 android.telephony.SmsManager; 2. 获取系统默认的短信管理器 SmsManager smsManager SmsManager.getDefault(); 3. 按照每条短信最大字数来拆分短信 …