涉及华信云短信,sms短信,sms1086短信,阿里云短信   废话不多 直接看代码

  1 class Sms extends Controller
  2 {
  3     // 华信云短信
  4     public function hx_smscn($code,$mobile)
  5     {
  6         // 前端:http://www.ipyy.net
  7         // 商户:https://c.ipyy.net
  8         $account='ZZ00***';
  9         $password=strtoupper(md5('ZZ0066***'));//接口密码
 10 
 11         $content='【***】您好,短信验证码为:'.$code.',如非本人操作,请忽略此短信。';
 12         $url="https://dx.ipyy.net/smsJson.aspx?action=send&userid=****&account=".$account."&password=".$password."&mobile=".$mobile."&content=".$content."&sendTime=&extno=";
 13         $ress= @file_get_contents($url);
 14         $res = json_decode($ress,true);
 15         if($res['returnstatus']=='Success' && $res['successCounts']==1)
 16         {
 17             return ['code'=>1,'msg'=>'发送成功,请注意查收'];
 18         }else{
 19             return ['code'=>0,'msg'=>'发送短信返回错误:'.$res['message']];
 20         }
 21     }
 22 
 23     
 24     // sms短信
 25     public function sms_smscn($code,$mobile)
 26     {
 27         $smsurl='http://api.sms.cn/sms/?ac=send&uid=***&pwd=*****&template=*****&mobile='.$mobile.'&content={"code":"'.$code.'"}';
 28         $result=@file_get_contents($smsurl);
 29         $result=json_to_array($result);
 30         if($result['stat']=='100')
 31         {
 32             return ['code'=>1,'msg'=>'发送成功,请注意查收'];
 33         }else{
 34             return ['code'=>0,'msg'=>'发送短信返回错误:'.$result['message']];
 35         }
 36 
 37         // return ['code'=>1,'msg'=>'发送成功,请注意查收'];
 38     }
 39 
 40     // sms1086短信
 41     public function sms_sms1086($code,$mobile)
 42     {
 43         $smsapi = "http://api.sms1086.com/Api/Sendutf8.aspx"; //短信网关
 44         $user =urlencode("****"); //短信平台帐号
 45         $pass = md5("****".date("Y-m-d H:i:s",time())); //短信平台密码
 46 
 47         $content = urlencode("您好,您的验证码:".utf8_encode($code).",十分钟内有效。如非您本人操作,可无需理会。【*****】");
 48         $sendurl = $smsapi."?username=".$user."&password=".$pass."&mobiles=".$mobile."&content=".$content."&f=1&timestamp=".urlencode(date("Y-m-d H:i:s",time()));
 49 
 50         $res = @file_get_contents($sendurl) ;
 51 
 52         $res = urldecode($res);
 53         $res = explode("&",$res);
 54         $res0=explode("=",$res[0]);
 55         // FLog($res0,'sendSms');
 56         if($res && isset($res0[1]) && $res0[1]==0){
 57             return ['code'=>1,'msg'=>'发送成功,请注意查收'];
 58         }else{
 59             $res2=explode("=",$res[2]);
 60             $msg=$res2[1];
 61             return ['code'=>0,'msg'=>$msg];
 62         }
 63     }
 64     // 阿里云短信
 65     public function sms_aliyun($code,$mobile)
 66     {
 67         $code=['code'=>$code];
 68         $code=json_encode($code);
 69 
 70         $params = array ();
 71 
 72         // *** 需用户填写部分 ***
 73 
 74         // fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
 75         $accessKeyId = "***";
 76         $accessKeySecret = "***";
 77 
 78         // fixme 必填: 短信接收号码
 79         $params["PhoneNumbers"] = $mobile;
 80 
 81         // fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
 82         $params["SignName"] = "*****";
 83 
 84         // fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
 85         $params["TemplateCode"] = '*****';
 86 
 87         // fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项
 88         $params['TemplateParam'] = $code;
 89 
 90         // fixme 可选: 设置发送短信流水号
 91         $params['OutId'] = "****";
 92 
 93         // fixme 可选: 上行短信扩展码, 扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段
 94         $params['SmsUpExtendCode'] = "1234567";
 95 
 96 
 97         // *** 需用户填写部分结束, 以下代码若无必要无需更改 ***
 98         if(!empty($params["TemplateParam"]) && is_array($params["TemplateParam"])) {
 99             $params["TemplateParam"] = json_encode($params["TemplateParam"], JSON_UNESCAPED_UNICODE);
100         }
101 
102         // 初始化SignatureHelper实例用于设置参数,签名以及发送请求
103         $helper = new SignatureHelper();
104 
105         // 此处可能会抛出异常,注意catch
106         $content = $helper->request(
107             $accessKeyId,
108             $accessKeySecret,
109             "dysmsapi.aliyuncs.com",
110             array_merge($params, array(
111                 "RegionId" => "cn-hangzhou",
112                 "Action" => "SendSms",
113                 "Version" => "2017-05-25",
114             ))
115         // fixme 选填: 启用https
116         // ,true
117         );
118         $content=(array)$content;
119         if($content['Code']=='OK' && $content['Message']=='OK')
120         {
121             return ['code'=>1,'msg'=>'发送成功,请注意查收'];
122         }else{
123             // var_dump($content);
124             return ['code'=>0,'msg'=>'发送短信返回错误:'.$content['Message']];
125         }
126     }
127 
128 }

 

posted on 2020-08-27 17:06  思君邪  阅读(257)  评论(2编辑  收藏  举报