详解dedecms使用整合阿里大鱼短信接口进行短信发送的教程

时间:2022-09-03 20:55:34

阿里大鱼虽免费,但不足的是内容、签名什么都要进行审核,且短信内容必须以模版方式进行调用,不能根据自己的需求随意发送, 接下介绍下阿里大鱼免费短信具体实现方法,该方法php程序可通用。

首先要去阿里大鱼下载sdk,引用其中5个基础文件即可,然后进入阿里大鱼开发平台申请一个帐号,新建应用,从后台获取appkey值和secretKey值;然后再新建一个短信模版,审核通过后取得模版id,同时如果需要在模版中传人参数可以在通过setSmsParam方法设置进去;同样短信签名也需要后台申请,审核通过才可以填写相应的短信签名进去;

做完上面的操作,把获取的参数根据下面的方法传入即可。

如下返回值是数组返回的,已解析,有点注意的是官方文档返回结构和实际的结构不一样,发送成功的返回的值是二维数组结构,发送失败的话则说简单的一维数组结构。

include('aldy/TopClient.php'); //这个是你下面实例化的类 
    include('aldy/ResultSet.php'); //这个是topClient 里面需要实例化一个类所以我们也要加载 不然会报错
    include('aldy/RequestCheckUtil.php'); //这个是成功后返回的信息文件
    include('aldy/TopLogger.php');   //这个是错误信息返回的一个php文件
    include('aldy/AlibabaAliqinFcSmsNumSendRequest.php'); //这个也是你下面示例的类
  
  //短信发送     模版id(TemplateCode),发送号码(RecNum),FreeSignName(短信签名)
  function send_sms($TemplateCode,$RecNum,$FreeSignName){
   $c = new TopClient;
   $c->appkey = ;//appkey值
   $c->secretKey = ;//secretKey值
   $req = new AlibabaAliqinFcSmsNumSendRequest;
   //$req->setExtend("123456");
   $req->setSmsType("normal");
   $req->setSmsFreeSignName($FreeSignName);
   $req->setSmsParam("{"code":"1234","product":"alidayu"}");.//模版参数
   $req->setRecNum($RecNum);
   $req->setSmsTemplateCode($TemplateCode);
   $resp = $c->execute($req);
    
   $content = json_decode(json_encode($resp),true);
   try {
     $result=  $content['sub_msg'];
      throw new Exception('It is an exception!');  
     } catch (Exception $e) {
    if( $content['result']['success'] == 'true' ){
       $result= '发送成功'; 
    }else{
     $result= '发送失败';
    }
   }
   echo $result;
   exit();
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。