JAVA发送手机短信,我知道的有三种方式,恰逢项目需求,自己整理了基于SMS的短信发送,其他两种这里就说说一下
使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册
使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备。
使用中国网建提供的SMS短信平台(申请账号地址:http://sms.webchinese.cn/default.shtml)
新建短信接口处理类
- 属性:服务器地址(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、到这里就发送成功了。但是由于短信平台的限制我们短信每天发送
条数有限