java发送短信
java发送短信一般步骤
一、在中国网建中注册用户:本程序是通过中国网建提供的SMS短信平台实现的,该平台新用户注册可以拥有免费5条普通短信和3条彩信,足够进行尝试和体验了。中国网建注册地址:http://sms.webchinese.cn/reg.shtml;
二、修改短信签名:注册成功后登陆,用户登陆有首先要修改短信签名,因为中国网建中规定了,发送的短信如果没有正规的签名是不能成功发送的,提示性信息见下图:
修改短信签名的步骤:用户信息修改--->修改用户信息--->保存信息,如下图:
三、修改验证码网关和绑定短信模板:如果开发的短信是为了发送验证码、订单号等需要让用户快速收到短信时,可以联系中国网建的客服(QQ联系即可,方便、快捷),修改验证码网关和绑定短信模板,短信模板中的变量用x进行代替,详情可以咨询中国网建的客服人员,这样就可以实现短信秒到用户手机中去;
非常注意:绑定了短信模板后,只有发送短信的内容与绑定的短信模板一模一样才能够实现短信的秒到,如果不一样的话,短信收到的时间将会变长;
四、下载commons-httpclient的jar包:
五、编写java代码,实现发送短信功能:
public static void main(String[] args) throws Exception { HttpClient client = new HttpClient(); PostMethod post = new PostMethod("http://gbk.api.smschinese.cn"); post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码 NameValuePair[] data = { new NameValuePair("Uid", "用户名"),//中国网建sms平台注册的用户名 new NameValuePair("Key", "用户秘钥"),//中国网建sms平台注册的用户密钥 new NameValuePair("smsMob", "手机号"),//将要发送到的手机号码 new NameValuePair("smsText", "按照短信模板发送内容,短信模板中变量具体化即可") };//要发送的短信内容 post.setRequestBody(data); client.executeMethod(post); Header[] headers = post.getResponseHeaders(); int statusCode = post.getStatusCode(); System.out.println("statusCode:" + statusCode); for (Header h : headers) { System.out.println(h.toString()); } String result = new String(post.getResponseBodyAsString().getBytes( "gbk")); System.out.println(result); // 打印返回消息状态 post.releaseConnection(); }
查看用户秘钥的步骤:修改短信秘钥--->短信秘钥,如下图:
六、通过运行五中编写的java代码,即可实现发送短信的功能,并且让短信能够秒到用户手机中去;
本程序需要注意以下几点:
1、必须要设置短信签名:因为中国网建规定,如果没有设置短信签名的短信是不能够成功发送的;
2、如果要实现短信的秒到功能,就要修改验证码网关和绑定短信模板,并且发送短信的内容只有和绑定的短信模板一模一样的时候(模板中的变量每次发送具体实例化即可,其余内容必须一模一样),才能够实现短信的秒到,否则发送的短信不能实现秒到,只能和普通短信一样到达用户手机上比较慢;