基于SMS短信平台给手机发送短信

1,232 阅读2分钟

这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战

JAVA发送手机短信,我知道的有三种方式,恰逢项目需求,自己整理了基于SMS的短信发送,其他两种这里就说说一下

JAVA发送手机短信,我知道的有三种方式,恰逢项目需求,自己整理了基于SMS的短信发送,其他两种这里就说说一下

使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册

使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备。

使用中国网建提供的SMS短信平台(申请账号地址:sms.webchinese.cn/default.sht…

新建短信接口处理类

  • 属性:服务器地址(SERVER_IP)+服务器端口(SERVER_PORT)+主账号名称(ACCOUNT_SID)+主账号令牌(ACCOUNT_TOKEN)+应用ID(App_ID)
  • 短信发送方法:

1、首先我们发送短信前需要对新建类的属性进行验证,这些都是发送短信必须的参数。这里我封装验证方法为accountValidate()

2、封装这个短信的方法也需要三个必须的参数(to,templateId,datas),其中datas是一个数组就是我们发送到手机上的内容。to代表的是手机号!templateId是我采用的模板,这里我提供了三种模板,这个后面有时间在详细赘述!

3、把需要的数据封装成两种格式的文本json/xml.最后我们只用将这两种方式的文本内容转换成字符串就可以发送到网络平台了。

LoggerUtil.info("sendTemplateSMS Request body =  " + requsetbody);
      BasicHttpEntity requestBody = new BasicHttpEntity();
      requestBody.setContent(new ByteArrayInputStream(requsetbody.getBytes("UTF-8")));
      requestBody.setContentLength(requsetbody.getBytes("UTF-8").length);
      httppost.setEntity(requestBody);
      HttpResponse response = httpclient.execute(httppost);

4、到这里就发送成功了。但是由于短信平台的限制我们短信每天发送 条数有限

总结

  • 现在实现发送短信大多都是通过已有的基站进行通信的,不可能自己再去搭建基站的。所以在软件层面上我们基本上都是对接已有的服务商,在他们的基础上我们进行定制内容发送。大多都是在他们的基础上通过appid进行分销发送。
  • 但是我们需要知道他们内部是如何实现短信状态告知的。最简单的实现方式是发送后直接告知发送成功。但是此时短信有没有被成功的接收并没有保障
  • 其次就是服务商会定期巡检短信发送状态,发现异常会告知客户端也就是我们,