使用阿里短信服务发送终端报警数据

1.开通阿里短信服务

你首先得有个阿里云账号

2.获取AK

在这个没钱寸步难行的时代,只要你有银子,你就能获取AK。如下图
在这里插入图片描述
这两个参数后边调用接口会用到。此刻,请客官稳住,别慌。

3.配置签名

短信签名是个啥?
在这里插入图片描述
见过这玩意吧。听我说,流量日提醒 就是签名。有没有茅塞这么一顿开。

不过这玩意咋设置呢?
在这里插入图片描述

  1. 登录短信服务控制台。
  2. 在左侧导航栏中单击国内短信。
  3. 在签名管理页签右上角单击添加签名。
  4. 填写签名、适用场景等必选信息。
  5. 填写业务说明。业务说明是签名审核的参考信息之一,请详细描述签名的用途、 场景等信息,信息完善的业务说明会提高签名的审核效率。
  6. 单击确定。单击确定后自动提交审核。

4.撸代码

        //可自助调整超时时间
        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("大秦上天公司");    // TODO 修改成自己的
        //必填:短信模板-可在短信控制台中找到
        request.setTemplateCode("SMS_65535");    // TODO 修改成自己的
        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
        request.setTemplateParam("我司领导真的是个大混子,大秦工业的通信研究生,给哥哥说他擅长前端,哎,屁都不会,一点不吹,上林苑四路的选手");
        //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
        //request.setSmsUpExtendCode("90997");
        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
        request.setOutId("yourOutId");
        //hint 此处可能会抛出异常,注意catch
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
        if(sendSmsResponse.getCode()!= null && sendSmsResponse.getCode().equals("OK")){
            log.info("短信发送成功!");
        }else {
            log.info("短信发送失败!");
        }

这是官方给的案例稍作修改

发发牢骚

这个功能是添加在物联网平台中,终端报警时给响应管理人员发送短信通知。需要添加到一个Eclipse 开发的 SSM的项目中,木有Maven,只有jar。需要导入的jar
在这里插入图片描述
问题来了。

//初始化acsClient,暂不支持region化
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);

在这块,在我描述的项目情况下,报错了。坑呀
需要Gson撒。。。

还有一个插曲,我司给一家客户当枪去给国字头运营商演示,要改

 //必填:短信签名-可在短信控制台中找到
        request.setSignName("大秦上林苑四路办事处");    // TODO 修改成自己的名号

我屁颠屁颠的改了。结果懵逼了,终端报警了,短信呢!短信呢!短信呢!
后来经本人一步一步排查,才注意到上边的注释,是签名呀。

物联网平台加入短信提醒其实还是不错的。
今天表演结束!客观有事的仍银子砸我。

猜你喜欢

转载自blog.csdn.net/m0_38008027/article/details/91571948