当前位置: 首页 > 后端技术 > Java

短信(云梦网)

时间:2023-04-02 01:19:45 Java

@TOC)BriefSMSchannel是移动、联通、电信等运营商直接提供的短信发送接口,需要申请云梦网测试账号才能达到批量发送自定义的目的使用客户指定的号码发送短信。官方地址-新手指南:【SDK接口文档:http://console.sms.monyun.cn:...】依赖导入梦网不提供在线版jar,需要下载导入在线版可能没有最新的,需要从运营商处获取最新版本的jarcom.smsSmsSdk5.7com.smsjson-simple<版本>1.1.1com.smsgson2.7yml属性配置#短信发送参数设置#WBS接入版本生产账号sms:userid:password:#营销账号shoppingUserid:shoppingPassword:#区别operator会给出trueThechannelisdifferentipAddress1:175.25.21.202:8901ipAddress2:120.133.237.118:8901#SMS开关启用:true/***账号*/publicstaticStringpassword;/***主IP地址*/publicstaticStringipAddress1;/***辅助IP地址*/publicstaticStringipAddress2;/***失败重试次数*/publicstaticintretryNum=1;/***是否启用短信发送*/publicstaticBooleanenable;publicvoidsetUserid(Stringuserid){SmsConfig.userid=userid;}publicvoidsetPassword(Stringpassword){SmsConfig.password=password;}publicvoidsetIpAddress1(StringipAddress1){SmsConfig.ipAddress1=ipAddress1;}publicvoidsetIpAddress2(StringipAddress2){SmsConfig.ipAddress2=ipAddress2;}publicvoidsetEnable(Booleanenable){SmsConfig.enable=enable;}}工具类@ComponentpublicclassSmsUtil{privatestaticfinalLoggerlog=LoggerFactory.getLogger(SmsUtil.class);/***设置全局变量*/static{//获取全局参数单例对象启用默认值GlobalParamsglobalParams=GlobalParams.getInstance();//设置下游内容的编码类型globalParams.setMsgMtEncode(ContentEncodeEnum.GBK);}/***@description个性化群发*@parammessage*/publicstaticintmixedSend(Messagemessage){//设置账号setAccountInfo();//单操作短链接SmsSendConnsmsSendConn=newSmsSendConn(false);//返回值intresult=-310099;try{//返回序列号StringBufferreturnValue=newStringBuffer();//发送短信result=smsSendConn.mixedSend(message,returnValue);//结果为0:成功if(result==0){log.info("个性化群发邮件提交成功!");}//结果不为0:failureelse{log.info("个性化群发提交失败,错误码:{}",resul吨);}}catch(Exceptione){//异常处理e.printStackTrace();}返回结果;}/***个性化群发**@parammobile多个手机号,分开*@paramcontent短信内容*@returnint*/publicstaticintmixedSend(Stringmobile,Stringcontent){Messagemessage=buildMessage(mobile,内容);返回混合发送(消息);}/***@description批量发送相同内容*@parammessage//返回序列号StringBufferreturnValue=newStringBuffer();//发送短信if(SmsConfig.enable){result=smsSendConn.batchSend(message,returnValue);}//结果为0:成功if(result==0){log.info("相同内容批量提交成功!");System.out.println(returnValue);}//结果非0:failureelse{log.info("相同内容批量提交失败,错误码:{}",result);}}catch(Exceptione){//异常处理e.printStackTrace();}返回结果;}/***批量发布相同内容**@parammobile多个手机号,分开*@paramcontent短信内容*@returnint*/publicstaticintbatchSend(Stringmobile,Stringcontent){Messagemessage=buildMessage(移动,内容);返回批量发送(消息);}/***@descriptionofasinglemessageSend*@parammessage*/publicstaticintsingleSend(Messagemessage){setAccountInfo();//单操作短链接SmsSendConnsmsSendConn=newSmsSendConn(false);//返回序列号StringBufferreturnValue=newStringBuffer();//返回值intresult=-310099;//发送短信if(SmsConfig.enable){结果=smsSendConn.singleSend(消息,returnValue);}//结果为0:成功if(result==0){log.info("单条消息发送成功!");}//resultisNon-0:failureelse{log.info("单次发送提交失败,错误码:{}",result);}返回结果;}/***发送单个消息**@parammobile用于多个电话号码,分隔*@paramcontent短信内容*@returnint*/publicstaticintsingleSend(Stringmobile,Stringcontent){Messagemessage=buildMessage(mobile,内容);返回单发送(消息);}/***@descriptionsetting用户账户信息*/publicstaticvoidsetAccountInfo(){//返回值intresult=-310007;try{//设置用户账号信息result=ConfigManager.setAccountInfo(SmsConfig.userid,SmsConfig.password,1,SmsConfig.ipAddress1,SmsConfig.ipAddress2,null,null);//判断返回结果,设置0成功,否则失败if(result==0){log.info("--->,成功设置用户账号信息!");}else{log.info("设置用户账号信息失败,错误码:{}",result);}}catch(Exceptione){//异常处理e.printStackTrace();log.info("用户账号信息设置异常!");}}/***构建消息体**@param手机号码*@paramcontent短信内容*@return{@linkMessage}*/publicstaticMessagebuildMessage(Stringmobile,Stringcontent){//参数类Message消息=新消息();//设置用户账号指定用户账号发送,需要填写用户账号,不指定用户账号发送不填写用户账号message.setUserid(SmsConfig.userid);//设置手机号码message.setMobile(mobile);//设置内容message.setContent(content);//设置分机号码message.setExno("");//用户自定义序列号message.setCustid("");//自定义扩展数据message.setExdata("");//业务类型message.setSvrtype("");回复信息;}