200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > java使用阿里云发送通知短信

java使用阿里云发送通知短信

时间:2022-12-17 00:28:02

相关推荐

java使用阿里云发送通知短信

首先在阿里云短信平台找到这几个参数对应的信息

阿里云短信秘钥

aliyun:

accessKeyId:

accessKeySecret:

#短信签名,可以在阿里云短信控制台查找

messageSignature:

#验证码短信模板

templateId:

模板内容代码

public ResultVO smsSendCommunityNotification2(String mobile, String cname, String ntitle, String id) {if (StringUtils.isEmpty(mobile)){return ResultVOFactory.buildFail("手机号不能为空");}String message = "{\"cname\":\"" + cname + "\",\"ntitle\":\"" + ntitle + "\",\"code\":\"" + id +"\"}";SendSmsResponse sendSmsResponse = new SendSmsResponse();try {sendSmsResponse =AliyunSmsUtil.sendSms2(mobile,message,accessKeyId1,accessKeySecret1,messageSignature3,templateId19);if (sendSmsResponse.getCode()== null || !sendSmsResponse.getCode().equals("OK")){return ResultVOFactory.buildFail(sendSmsResponse.toString()+","+sendSmsResponse.getMessage());}return ResultVOFactory.buildSuccess(sendSmsResponse.getMessage());} catch (ClientException e) {e.printStackTrace();return ResultVOFactory.buildFail("短信发送失败:"+sendSmsResponse.toString()+","+sendSmsResponse.getMessage());}}

发送短信工具类

public static SendSmsResponse sendSms2(String telephone,String message,String accessKeyId,String accessKeySecret,String messageSignature,String templateId) throws ClientException {// 可自助调整超时时间System.setProperty(".client.defaultConnectTimeout", "10000");System.setProperty(".client.defaultReadTimeout", "10000");// 初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);// 组装请求对象-具体描述见控制台-文档部分内容SendSmsRequest request = new SendSmsRequest();// 必填:待发送手机号request.setPhoneNumbers(telephone);// 必填:短信签名-可在短信控制台中找到request.setSignName(messageSignature); // TODO 改这里// 必填:短信模板-可在短信控制台中找到request.setTemplateCode(templateId); // TODO 改这里// 可选:模板中的变量替换JSON串request.setTemplateParam(message);// 选填-上行短信扩展码(无特殊需求用户请忽略此字段)// request.setSmsUpExtendCode("90997");// 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者request.setOutId("yourOutId");// hint 此处可能会抛出异常,注意catchSendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){System.out.println("短信发送成功!");}else {log.error("短信发送失败:"+sendSmsResponse.toString()+","+sendSmsResponse.getMessage());}return sendSmsResponse;}

所需参数:

// 产品名称:云通信短信API产品,开发者无需替换

static final String product = “Dysmsapi”;// 产品域名,开发者无需替换

static final String domain = “”;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。