阿里云发送短信

0.阿里云文档地址

可以设置测试手机号

1.引入依赖

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
        </dependency>

        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>1.1.0</version>
        </dependency>

2.controller层代码

//    发送短信,访问接口就向手机号发送短信,不处理任何业务
    @GetMapping("/send/{phone}")
    public R sendMail(@PathVariable("phone") String phoneId) {
        String code = RandomUtil.getFourBitRandom();
        Map<String, Object> param = new HashMap<>();
        param.put("code", code);
        boolean ifSuccess = msmService.sendMail(code, phoneId);
        if (ifSuccess) {
            return R.ok();
        } else {
            return R.error();
        }
    }

3.service层代码

    @Override
    public boolean sendMail(String code, String phoneId) {
        String securityCode;
        try {
            // 查询redis中是否已经有这个手机号对应的验证码了,避免重复发送验证码
            if (StringUtils.isNotEmpty(redisTemplate.opsForValue().get(phoneId))) {
                return true;
            }
            // 发送短信
            Map<String, String> map = new HashMap<>();
            map.put("accessKeyId", "");//填写自己的accessKeyId
            map.put("accessKeySecret", "");// 和secret
            // 手机号
            map.put("phoneNumbers", phoneId);
            //  签名名称
            map.put("signName", "阿里云短信测试");
            //  模板code
            map.put("templateCode", "SMS_154950909");
            securityCode = RandomUtil.getFourBitRandom();
            //  验证码
            map.put("templateParam", "{code:" + securityCode + "}");
            SendEmailUtil.sendMsg(map);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        redisTemplate.opsForValue().set(phoneId, securityCode, 5, TimeUnit.MINUTES);
        return true;
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]中的阿里云短信服务官方文档,您可以通过以下步骤来创建一个阿里云发送短信的工具类: 1. 开通阿里云账号并登录,然后申请一个子权限账户,并授予该账户短信服务管理的权限。 2. 在短信服务控制台中申请签名和模板,具体的规则可以参考审核标准。 3. 根据短信接收对象的不同,选择相应的签名和模板。 4. 调用阿里云短信服务的接口来发送短信。 在编写工具类时,您可以使用引用\[2\]中提供的阿里云短信依赖,即aliyun-java-sdk-core和aliyun-java-sdk-dysmsapi。您可以在您的项目中添加这两个依赖,并按照官方文档提供的示例代码来调用阿里云短信服务的接口。 如果您需要同时向多个不同的手机号码发送不同签名的短信,可以参考引用\[3\]中的文档,该文档提供了相关的参考信息。 请注意,以上是一个简要的概述,具体的实现细节和代码编写需要根据您的具体需求和项目环境进行调整。建议您参考阿里云短信服务的官方文档和示例代码来完成您的工具类的编写。 #### 引用[.reference_title] - *1* *3* [阿里云短信服务工具类](https://blog.csdn.net/qq_40147276/article/details/93724745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【阿里云短信服务 无认证 测试版本 附带短信发送工具类](https://blog.csdn.net/SPX113/article/details/125862420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值