阿里大鱼PHP版本的短信发送DEMO示例代码
- 15734
- PHP
- 10
- super_dodo
- 2016/03/07
短信平台主要是为了验证用户的手机号码和用户的真实性。之前用过好几个短信平台,互亿无线的短信平台还是可以值得推荐的,不过收费略显不灵活(短信套餐包模式1500元2万条,不过他们的客服还是比较给力热情的,QQ电话都是有问必答)。此处介绍一下阿里大鱼的短信平台,有的客户想要用阿里的整套产品和服务,服务器域名短信验证码等,也是为了省事放心。
阿里大鱼的使用者首先需要按照说明成为阿里开放平台的开发者,新建应用,新建之后就会得到appkey appid 等相关信息。这个时候你还需要到阿里大鱼平台去设置自己的短信签名,短信模板等。这个有相关的使用说明,自行按照步奏去操作测试。

之后下载了阿里大鱼的SDK进行简单的整理。

目录结构如下所示。

直接上PHP执行代码部分(写了个公共的方法,我用的Yii2框架)。
//发送手机验证码--阿里大鱼
public function smsAlidayu($phone,$ok_code='0'){
require './extensions/msg/Alidayu/TopSdk.php';//引入加载相关的类文件
// require './extensions/msg/Alidayu/top/TopClient.php';
// require './extensions/msg/Alidayu/top/request/AlibabaAliqinFcSmsNumSendRequest.php';
$appkey = '*******';
$secret = 'f***************************';
$c = new \TopClient;
$c->appkey = $appkey;
$c->secretKey = $secret;
$c->format = 'json';
$v_code = mt_rand(1000,9999); //生成四位随机数
$req = new \AlibabaAliqinFcSmsNumSendRequest;
$req->setExtend("123456");
$req->setSmsType("normal");
$req->setSmsFreeSignName("身份验证");
$req->setSmsParam("{\"code\":\"{$v_code}\",\"product\":\"DoDoBook\"}");
$req->setRecNum($phone);
$req->setSmsTemplateCode("SMS_*********");
$resp = $c->execute($req);
$sms_ok = '2'; //默认情况下不成功
if(isset($resp->result->err_code)){
if($resp->result->err_code == '0'){ //发送成功
$sms_ok = '1';
Yii::$app->session->set('tel_'.$phone,$v_code); //把验证码存入session
}
}
$model = new WebsiteSmsList; //记录发送验证码的信息到数据库
$model->code = $v_code;
$model->name = $phone;
$model->add_time = time();
$model->isNewRecord = true;
if($sms_ok == '1'){ //发送成功的情况下
$model->status = '1';
$model->remark = '发送成功';
$model->save();
$this->_end($ok_code,'手机验证码发送成功.','');
}else{
$model->status = '2';
$model->remark = '发送失败';
$model->save();
$this->_end('1','非常抱歉,短信验证码发送失败,请稍后再试.','');
}
}
阿里开放平台的api接口地址: http://open.taobao.com/doc2/apiList.htm
阿里大鱼的官网:http://www.alidayu.com/
欢迎大家指正并修改改进。
虽然可以像猪一样懒,但终究无法像猪一样懒得心安理得。
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例

