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

  

  

如今发短信功能已经成为互联网公司的标配,本篇文章将一步步实现java发送短信

  

考察了许多提供短信服务的三方,几乎所有都需要企业认证才可以使用,这对于个人学习非常不方便。多方比较之后,选择了腾讯云(此处并非做广告),原因有两点:

  

支持微信公众号认证(门槛低)每月赠送100条免费短信(适合个人学习)(这一点请矿家子弟自行忽略)

  

癹ava实现发短信功能-

  

  

请参照:春天引导实现模块化的几种方法

  

腾讯云——短信

  

找到短信服务

  

癹ava实现发短信功能-

  

开通之后,点击添加应用

  

癹ava实现发短信功能-

  

设置短信签名(以公众号为例),签名类型选择公众号或小程序,其余按照要求填写即可

  

癹ava实现发短信功能-

  

签名完成之后,创建短信模板

  

癹ava实现发短信功能-

  

等待以上信息审核完成之后,便可以开始使用了,腾讯短信服务需要用到SDK AppID和应用关键,在这里:

  

癹ava实现发短信功能-

  

代码   

pom.xml引入依赖

        & lt; properties>   & lt; java.version> 1.8 & lt;/java.version>   & lt; !——你的其他依赖…——比;   & lt; tencent.qcloudsms.version> 1.0.6   & lt;/properties>      & lt; dependencies>   & lt; !——你的其他依赖…——比;   & lt; !——腾讯短信——比;   & lt; dependency>   & lt; groupId> com.github.qcloudsms   & lt; artifactId> qcloudsms   & lt; version> $ {tencent.qcloudsms.version} & lt;/version>   & lt;/dependency>   & lt;/dependencies>      

发送短信工具类

        包com.wayne.common.utils;   进口com.github.qcloudsms。*;   进口com.github.qcloudsms.httpclient.HTTPException;   进口com.wayne.common.entity.CmsMessageConfig;   进口com.wayne.common.exception.CustomException;   进口com.wayne.common.form.MessageForm;   进口org.json.JSONException;   进口java.io.IOException;/* *   *发送短信工具类   * @author韦恩   * @date 2019/6/26   */公开课MessageUtils {/* *   *按模板发送短信支持单发和群发   * @param isSingle是否单发正确的:单发,假:群发   * @param形式需要发送的短信内容及收信人手机号   * @param配置短信配置   * @throws CustomException发送失败时捕获的异常信息   */公共静态孔隙sendMessage(布尔isSingle MessageForm形式,CmsMessageConfig配置)抛出CustomException {   validateMessage(形式、配置);   字符串正则表达式=?“;   String [] params={form.getCaptcha ()};   String [] phonenumber=form.getMobiles () .split(正则表达式);   SmsResultBase结果;   尝试{//是否单发   如果(isSingle) {   SmsSingleSender ssender=new SmsSingleSender (config.getAppId (), config.getAppKey ());   结果=ssender。sendWithParam (“86”, phonenumber [0], config.getTemplateId(),参数个数,config.getSmsSign (), " ", " ");   其他}{   SmsMultiSender msender=new SmsMultiSender (config.getAppId (), config.getAppKey ());   结果=msender。sendWithParam (“86”, phonenumber config.getTemplateId(),参数个数,config.getSmsSign (), ", " ");   }   System.out.println(结果);   }捕捉(textbox e) {   e.printStackTrace ();   把新的CustomException (“HTTP响应码错误”);   }捕捉(JSONException e) {   e.printStackTrace ();   把新CustomException (“json解析错误”);   }捕捉(IOException e) {   e.printStackTrace ();   把新CustomException(“网络IO错误”);   }   }/* *   *校验参数   */私有静态孔隙validateMessage (MessageForm MessageForm, CmsMessageConfig messageConfig)抛出CustomException {   ValidatorUtils.validateEntity (messageForm);   如果(null==messageConfig) {   把新CustomException(“系统参数异常”);   }   }   }

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