阿里云短信验证码后台代码

private String sendSms(String phone,int code, String type){
        //云通信产品-短信API服务产品名称(短信产品名固定,无需修改)
      final String product = "Dysmsapi";
      //云通信产品-短信API服务产品域名(接口地址固定,无需修改)
      final String domain = "dysmsapi.aliyuncs.com";
      //此处需要替换成开发者自己的AK信息
      final String accessKeyId = "LTAIo5ALfea3rxCI";
      final String accessKeySecret = "qYcRVerI0PhdWADfNst6xP3hm1ophB";
      //初始化ascClient
      IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
      try {
            DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
        } catch (ClientException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
      IAcsClient acsClient = new DefaultAcsClient(profile);
      //组装请求对象
      SendSmsRequest request = new SendSmsRequest();
      //使用post提交
      request.setMethod(MethodType.POST);
      //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
      request.setPhoneNumbers(phone);
      //必填:短信签名-可在短信控制台中找到
      request.setSignName("中交船易行");
      //必填:短信模板-可在短信控制台中找到
      if(type!=null&& type.equals("1")){
          request.setTemplateCode("SMS_89765027");
          request.setTemplateParam("{\"number\":\""+code+"\"}");
      }
      else if(type!=null&& type.equals("2")){
          request.setTemplateCode("SMS_89515079");
          request.setTemplateParam("{\"code\":\""+code+"\"}");
      }
      else{
          request.setTemplateCode("SMS_89515084");
          request.setTemplateParam("{\"code\":\""+code+"\"}");
      }
      //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
      //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
      
      //可选-上行短信扩展码(无特殊需求用户请忽略此字段)
      //request.setSmsUpExtendCode("90997");
      //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
      // request.setOutId("yourOutId");
      //请求失败这里会抛ClientException异常
      SendSmsResponse sendSmsResponse;
        try {
            sendSmsResponse = acsClient.getAcsResponse(request);
            return sendSmsResponse.getCode();
        } catch (ServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClientException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
      return "0";
  }

 

posted @ 2018-02-27 16:31  爱吃西红柿  阅读(1522)  评论(0编辑  收藏  举报