介绍本项目是集成各大云服务厂商的短信服务平台,支持ThinkPHP5.0、ThinkPHP5.1和ThinkPHP6.0,由宁波盛佳网络科技有限公司维护,目前支持阿里云、腾讯云、七牛云、优拍云、Ucloud和华为云,如有其他厂商集成需求,请邮件联系作者提交需求。安装教程可以使用composerrequiresingka/singka-sms命令行安装。安装完成后会自动生成config/sms.php配置文件,内容如下://+--------------------------------------------------------------------return['aliyun'=>['version'=>'2017-05-25','host'=>'dysmsapi.aliyuncs.com','scheme'=>'http','region_id'=>'cn-hangzhou','access_key'=>'','access_secret'=>'','sign_name'=>'','actions'=>['register'=>['actions_name'=>'注册验证','template_id'=>'SMS_53115055',],'login'=>['actions_name'=>'登录验证','template_id'=>'SMS_53115057',],'changePassword'=>['actions_name'=>'更改密码','template_id'=>'SMS_53115053',],'changeUserinfo'=>['actions_name'=>'更改信息','template_id'=>'SMS_53115052',],],],'ucloud'=>['public_key'=>'','private_key'=>'','project_id'=>'','base_url'=>'https://api.ucloud.cn','sign_name'=>'','actions'=>['register'=>['actions_name'=>'注册验证','template_id'=>'UTA1910164E29F4',],'login'=>['actions_name'=>'登录验证','template_id'=>'UTA1910164E29F4',],'changePassword'=>['actions_name'=>'更改密码','template_id'=>'UTA1910164E29F4',],'changeUserinfo'=>['actions_name'=>'更改信息','template_id'=>'UTA1910164E29F4',],],],'qcloud'=>['appid'=>'','appkey'=>'','sign_name'=>'','actions'=>['register'=>['actions_name'=>'注册验证','template_id'=>'566198',],'login'=>['actions_name'=>'登录验证','template_id'=>'566197',],'changePassword'=>['actions_name'=>'更改密码','template_id'=>'566199',],'changeUserinfo'=>['actions_name'=>'更改信息','template_id'=>'566200',],],],'qiniu'=>['AccessKey'=>'','SecretKey'=>'','actions'=>['register'=>['actions_name'=>'注册验证','template_id'=>'1246849772845797376',],'login'=>['actions_name'=>'登录验证','template_id'=>'1246849654881001472',],'changePassword'=>['actions_name'=>'更改密码','template_id'=>'1246849964902977536',],'changeUserinfo'=>['actions_name'=>'更改信息','template_id'=>'1246849860733243392',],],],'upyun'=>['id'=>'','token'=>'','apiurl'=>'','actions'=>['register'=>['actions_name'=>'注册验证','template_id'=>'2591',],'login'=>['actions_name'=>'登录验证','template_id'=>'2592',],'changePassword'=>['actions_name'=>'更改密码','template_id'=>'2590',],'changeUserinfo'=>['actions_name'=>'更改信息','template_id'=>'2589',],],],'huawei'=>['url'=>'','appKey'=>'','appSecret'=>'','sender'=>'','signature'=>'','statusCallback'=>'','actions'=>['register'=>['actions_name'=>'注册验证','template_id'=>'2591',],'login'=>['actions_name'=>'登录验证','template_id'=>'2592',],'changePassword'=>['actions_name'=>'更改密码','template_id'=>'2590',],'changeUserinfo'=>['actions_name'=>'更改信息','template_id'=>'2589',],],]];使用示例(基于ThinkPHP6.0)//+----------------------------------------------------------------命名空间app\home\controller;useSingKa\Sms\SkSms;usethink\facade\Config;classIndex{/***短信发送示例**@mobile短信发送目标手机号*@action短信发送场景,会自动传给短信模板*@parme短信内容数组*/publicfunctionsendSms($mobile,$action,$parme){//$this->SmsDefaultDriver是从数据库读取短信的默认驱动$SmsDefaultDriver=$this->SmsDefaultDriver?:'aliyun';//$this->SmsConfig是从数据库中读取的短信配置$config=$this->SmsConfig?:Config::get('sms.'.$SmsDefaultDriver);$sms=newsksms($SmsDefaultDriver,$config);//传入短信驱动和配置信息//判断短信发送驱动,如果不是阿里云和七牛云,需要内容数组的主键序列化if($this->SmsDefaultDriver=='aliyun'){$result=$sms->$action($mobile,$parme);}elseif($this->SmsDefaultDriver=='qiniu'){$result=$sms->$action([$mobile],$parme);}elseif($this->SmsDefaultDriver=='upyun'){$result=$sms->$action($mobile,implode('|',$this->restoreArray($parme)));}else{$result=$sms->$action($mobile,$this->restoreArray($parme));}if($result['code']==200){$data['code']=200;$data['msg']='短信发送成功';}else{$data['code']=$result['code'];$data['msg']=$result['msg'];}返回$数据;}/***数组主键序列化**@arr待转换数组*/publicfunctionrestoreArray($arr){if(!is_array($arr)){return$arr;}$c=0;$新=[];foreach($arras$key=>$value){$new[$c]=$value;$c++;}返回$新;}}$result['code']返回值为200,表示短信发送成功。否则,您可以根据错误代码和错误提示去各个云服务中查找相关信息。其他说明请参考:Ucloud、阿里云、腾讯云、七牛云、优拍云、华为云更多信息请访问作者个人网站陈墨成
