springboot集成阿里云短信服务,实现发送短信功能

springboot集成阿里云短信服务,实现发送短信功能

准备工作:
1.登陆阿里云—>进入控制台—>开通短信服务(进入后根据提示开通)
在这里插入图片描述
2.充值(借人家平台发短信你以为不要钱的?我充了3元,够用了)
在这里插入图片描述3.获取AccessKey和AccessSercet(想当与你的身份标识,代码中会用到)
新用户一般没有,需要创建,创建方式如下:
在这里插入图片描述
推荐使用子用户Accesskey
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
创建完成后会显示AccessKeyID和AccessKeySecret,一定要保存,一定要保存,一定要保存!

在这里插入图片描述
4.申请签名和模板,代码中需要用到 签名 和 模板的code(签名的申请比较难,我搞了差不多三个小时,为此还激活了冻结的微信公众号)
建议大家在申请签名的时候先看看签名的规则。
在这里插入图片描述
5.开始编程(实际就是拷贝阿里云提供的示例代码)
查看示例:
在这里插入图片描述
填写相关参数:
在这里插入图片描述
绿框中的方法需要注意:可能是由于依赖(拷贝到项目前记得先导入依赖,依赖贴在本博客的最后)版本不同,导致方法名有所不同。我项目中就遇到了找不到绿框中4个方法的问题

如果不懂参数什么意思 可以点击 或者 查看apt文档
在这里插入图片描述
6.贴一下我项目里的代码(更具个人情况做些许改动)

@Component
public class AliyunSmsUtils {
    Logger logger = LoggerFactory.getLogger(AliyunSmsUtils.class);
    @Autowired
    private AliyunSmsSendProperty aliyunSmsSendProperty;

    public String sendMess(String phone,String code){
        logger.info(aliyunSmsSendProperty.getAccessKeyId());
        logger.info(aliyunSmsSendProperty.getAccessSecret());
        logger.info(aliyunSmsSendProperty.getSingleName());
        logger.info(aliyunSmsSendProperty.getTemplateCode());
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", aliyunSmsSendProperty.getAccessKeyId(), aliyunSmsSendProperty.getAccessSecret());
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();

        request.setMethod(MethodType.POST);
        request.setDomain("dysmsapi.aliyuncs.com");
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", phone);
        request.putQueryParameter("SignName", aliyunSmsSendProperty.getSingleName());
        request.putQueryParameter("TemplateCode", aliyunSmsSendProperty.getTemplateCode());
        request.putQueryParameter("TemplateParam", "{\"code\":"+code+"}");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            return response.getData();
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return null;
    }

}

7.依赖

<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>2.1.0</version>
        </dependency>

参考文档:https://blog.csdn.net/qq_38225558/article/details/84954935

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值