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("sun.net.client.defaultConnectTimeout", "10000");
        System.setProperty("sun.net.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 此处可能会抛出异常,注意catch
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
        if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){
            System.out.println("短信发送成功!");
        }else {
            log.error("短信发送失败:"+sendSmsResponse.toString()+","+sendSmsResponse.getMessage());
        }
        return sendSmsResponse;
    }

所需参数:

  1. // 产品名称:云通信短信API产品,开发者无需替换
    static final String product = “Dysmsapi”;
  2. // 产品域名,开发者无需替换
    static final String domain = “dysmsapi.aliyuncs.com”;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值