1. 程式人生 > 實用技巧 >傳送簡訊集合類

傳送簡訊集合類

涉及華信雲簡訊,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=62905&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"] = 'SMS_173165654'; 86 87 // fixme 可選: 設定模板引數, 假如模板中存在變數需要替換則為必填項 88 $params['TemplateParam'] = $code; 89 90 // fixme 可選: 設定傳送簡訊流水號 91 $params['OutId'] = "12345"; 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 }