一:阿里大于的短信接口:
1.1由于阿里大于全面升级成阿里云 云通信,这样给一些新手的朋友带来了一些使用上的一点不方便.下面是阿里云的网址:
https://dayu.aliyun.com/
1.2新用户的注册:
新用户注册就送两百条短信的,作为测试练习使用还是够的.有点小激动吧,快去注册一个吧.
1.3:升级后,关于业务的操作都要到控制台去完成的,新的用户需要使用支付宝或淘宝的账号进行实名认证的.这个按照提示的操作的就可以顺利完成的.
之后就可以使用相应的服务了:这里以个人的用户介绍:
 
1.4 那个短信签名和短信的模板都需要申请的,根据自己测试的需要来按照格式申请就没啥问题的.
              下面就是下载SDK:如下图所示:这里以Java语言为例.
 
1.5:下载后拿到工具包后,就可以开始开发Demo了.创建一个普通的Java工程就可以了.把那个jar包导进来如下图说是:
                一个使用的流程简单总结:
 
1.6:创建一个类进行测试:
         package com.ix.message;
          import com.aliyuncs.DefaultAcsClient;
          import com.aliyuncs.IAcsClient;
          import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
          import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
          import com.aliyuncs.exceptions.ClientException;
          import com.aliyuncs.http.MethodType;
          import com.aliyuncs.profile.DefaultProfile;
          import com.aliyuncs.profile.IClientProfile;
          public class SmsDemo{
          public static void main(String[] args) throws ClientException {
            sendCode();
        }
         //封装发送短信的方法
      public static void sendCode() throws ClientException{
         //设置超时时间-可自行调整
         System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
         System.setProperty("sun.net.client.defaultReadTimeout", "10000");
         //初始化ascClient需要的几个参数
         final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
         final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
         //替换成你的AK
         final String accessKeyId = "";//你的accessKeyId,参考本文档步骤2
         final String accessKeySecret = "";//你的accessKeySecret,参考本文档步骤2
         //初始化ascClient,暂时不支持多region
         IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
         accessKeySecret);
         DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
         IAcsClient acsClient = new DefaultAcsClient(profile);
          //组装请求对象
          SendSmsRequest request = new SendSmsRequest();
          //使用post提交
          request.setMethod(MethodType.POST);
          //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
          request.setPhoneNumbers("");//你要发送给的用户手机号码
          //必填:短信签名-可在短信控制台中找到
          request.setSignName("你的短信签名");
          //必填:短信模板-可在短信控制台中找到
          request.setTemplateCode("你的短信模板的ID");//在模板里面就可以找到的.
          //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
          //获取验证码
          String code=getCode();
          //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含
的情况在JSON中需要表示成\r\n,否则会导致JSON在服务端解析失败
          request.setTemplateParam("{"code":""+code+""}");
          //可选-上行短信扩展码(无特殊需求用户请忽略此字段)
          //request.setSmsUpExtendCode("90997");
          //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
          //request.setOutId("yourOutId");
         //请求失败这里会抛ClientException异常
         SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
         if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
           System.out.println("请求成功!");
         }
     }
       //封装生成6位随机数的方法
       public static String getCode(){
           String code="";
           for(int i=0;i<6;i++){
               code+=(int)Math.floor(Math.random()*10);
           }
           return code;
     }
 }
     直接运行就可以发送过去了.快去试试吧.
 
        测试代码就是这样的:那个6位随机数的是需要自己编码生成. 
 
这个是Java版的,如果要做成JavaWeb版的,用户注册的时候就可以使用的Ajax,绑定一个文本框,用户输入手机验证密码然后传值给后台, 将传入的值和存在session中的code进行比较就可以了.思路就是这样的.
短信发送完毕后可以查看发送的结果:
再次查看发送短信后收费的情况: