短信发送作为实时为用户传递信息的工具在企业中非常常用。由于去年起手机号码都实现了实名认证,所以作为用户信息的真实性验证或者用户购买信息及资金变化的通知,短信方式就显得尤为重要也非常的方便。下边我就来分享下在yii2中如何使用阿里大鱼及阿里云云通信/短信服务来发送短信。
由于在yii2中很多功能和模块都是使用组件化的形式来实现的,可以方便的使用composer来安装。这儿我给大家分享一个短信发送的composer包,这个是我在给学生教学中总结然后自己封装的一个包。
一、gmars/yii2-sms包的使用
1.1 gmars/yii2-sms包的介绍
gmars/yii2-sms是一个基于yii2的composer包,封装了阿里大鱼、阿里云云通信短信服务的接口。其地址在
https://packagist.org/packages/gmars/yii2-sms也可以在https://packagist.org中搜索gmars来查找。包的信息如下:
1.2 gmars/yii2-sms包的安装
gmars/yii2-sms包的安装方法有两种也就是普通的在项目的根目录中打开cmd或者Linux系统的terminal输入composer require gmars/yii2-sms来安装,这个前提是你的系统中必须全局安装了composer工具。
第二种方法是打开项目根目录的composer.json在require字段中添加
"gmars/yii2-sms": "dev-master"
最后一定要在项目根目录下运行composer update来更新
1.3 gmars/yii2-sms包的使用
如果在yii2中引入了该包后就可以直接实例化使用了。使用方法如下
使用方式如下
* @param string $sdkName 接口名称目前可接受的参数有'ALIDAYU'或'ALIYUN'
* @param array $option 接口的配置参数appkey和secretkey可以在阿里大鱼或阿里云官网申请
$smsObj = new \gmars\sms\Sms($sdkName, $options, $config = []);
在options参数中需要以数组的形式传入appkey和secretkey
$smsObj = new Sms('ALIDAYU',['appkey'=>'2344445','secretkey'=>'xasdgdfhsfhjsfhsfhs']);
$smsObj->send([
'mobile' => '15730430000',
'signname' => 'NoStop',
'templatecode' => 'SMS_34000000',
'data' => [
'code' => 'asdg',
'time' => '2'
],
]);
* $args['data'] = [
* 'mobile' => 'mobile', 电话号码必须
* 'signname' => 'signname', 签名必须要有
* 'templatecode' => 'templatecode', 模板编码
* 'smstype' => 'smstype', 短信类型
* 'extend' => 'extend', 附加参数可以不传
* 'data' => [ 数据必须以数组形式传参
* 'code' => 'xxxx',
* 'time' => '10'
* ],
* ]
本文为魏永强原创作品未经允许不得转载:MarsWill » Yii2使用阿里大鱼或阿里云短信发送短信