如今发短信功能已经成为互联网公司的标配,本篇文章将一步步实现java发送短信
考察了许多提供短信服务的三方,几乎所有都需要企业认证才可以使用,这对于个人学习非常不方便。多方比较之后,选择了腾讯云(此处并非做广告),原因有两点:
支持微信公众号认证(门槛低)每月赠送100条免费短信(适合个人学习)(这一点请矿家子弟自行忽略)
请参照:春天引导实现模块化的几种方法
腾讯云——短信
找到短信服务
开通之后,点击添加应用
设置短信签名(以公众号为例),签名类型选择公众号或小程序,其余按照要求填写即可
签名完成之后,创建短信模板
等待以上信息审核完成之后,便可以开始使用了,腾讯短信服务需要用到SDK AppID和应用关键,在这里:
代码
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实现发短信功能- - -腾讯云短信