涉及华信云短信,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×tamp=".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 }
在规矩中有自己的不规矩,走出不一样的路才是属于自己的路