java实现腾讯云发送短信功能

木来

我在阿里云的短信服务中充值的一元钱到期了,于是,就将阿里云短信服务换成了腾讯云短信服务。

换成腾讯云短信服务的优点很简单,每个月会有100条的免费短信,这个我是比较欣赏的,我的网站基本用不了100条,一个月能省下不少钱,甚至可以做评论通知提醒功能。

接下来,我就把java如何使用腾讯云短信服务功能给写一下:

首先呢,需要注册腾讯云帐号,有QQ号就可以。

其次,需要在腾讯云产品中找到短信服务,并且开通短信功能。

创建应用

图片.png

然后,你需要点开应用后,点击国内短信,选择短信内容配置

图片.png

然后根据自己的情况创建短信签名以及短信正文模版。

短信签名就是你自己的产品名称或者是你本人姓名。

图片.png

审核比较快,正常情况下半小时就可以审核好。

然后,我们需要下载JAVA版的腾讯云短信服务SDK

传送门:腾讯云java版本短信服务git源码

首先我们需要下载4个jar包:

分别是 org.json , httpclient, httpcorehttpmine 采用方法1需要将以上四个jar包导入工程。

然后,我们需要使用部分demo源码

图片.png

然后,我们调用即可:

package impressive.utils;

import java.io.IOException;

import org.json.JSONException;

import com.alibaba.fastjson.JSONObject;

import impressive.utils.tencent.cloud.sms.HTTPException;
import impressive.utils.tencent.cloud.sms.SmsSingleSender;
import impressive.utils.tencent.cloud.sms.SmsSingleSenderResult;

/**
 * 
* <p>Title:test </p>
* <p>Description: 腾讯云短信服务测试</p>
* <p>Company:www.inx.fun</p>
* @author  时玉龙
* @date    2018年7月15日下午6:21:17
 */
public class test {

    public static void main(String [] args){
         int appid=你的应用的appid;
         String appkey="你的应用的appkey";
         String code=String.valueOf((int)((Math.random()*9+1)*100000));
         
         try {
             //实例化单发信息类(腾讯云提供)
             SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
             //调用方法进行发送
             SmsSingleSenderResult result = ssender.send(0, "86", "178xxxxxx","【诚意印象】您的验证码为:"+code+",该验证码5分钟之内有效,请勿泄露给他人。", "", "");
             /*转换返回结果,用JSONObject解析json数据,0代表成功,非0失败*/
             JSONObject json = JSONObject.parseObject(result.toString());
             String state = json.getString("result");
             if ("0".equals(state)) {
               
                 System.out.println("短信发送成功!");
             } else {
           
                 System.out.println("短信发送失败!");
             }
         
             System.out.print(result);
         } catch (HTTPException e) {
             // HTTP响应码错误
          
             e.printStackTrace();
         } catch (JSONException e) {
             // json解析错误
         
             e.printStackTrace();
         } catch (IOException e) {
             // 网络IO错误
           
             e.printStackTrace();
         }
    
    
    
    }
    
    
    
}

特别需要注意的是:短信正文内容必须与你申请的短信正文内容一致。

否则,会报1014错误。

如果run as main函数成功,并且你收到了短信,那就说明短信功能走通了,接下来就是写业务逻辑代码了。

在这里,特别感谢FUN言网提供的教程:

http://funyan.cn/fman/p/188.html

意见反馈