Java相关项目中进行短信发送(验证码)-阿里云SDK短信服务

一:在我们的生活场景中大家一定遇到过短信服务

例如大家登录某个app时,需要进行验证码的校验(进行身份校验,保证账号安全性)

1)相对安全一些
2)用户登录方便
3)收集用户信息---->  可能进行推广广告,感知账号爱好

二:短信发送有谁控制

发短信是有电信运行商(移动、电信、联通)统一管理, 发短信必须交钱的 

三:短信发送准备工作

1)开通

2)申请签名(个人用户现在无法申请)

3)添加模板

 4)设置Accesskey

 

注意: 创建子用户成功后,一定要复制保存AccessKey,这个很重要,涉及到账号的扣费

5)设置授权

把这两个权限添加上就可以了

注意:自己的AccessKey一定自己保存好,不要泄露,否则有被盗用的风险!

完成以上设置基本在页面的操作也就完成了,后面只需要我们在代码中进行调用阿里云提供好的SDK就可以了

代码中的应用:

1)使用工具类发送短信

<!--阿里云短信服务-->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.5.16</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
    <version>2.1.0</version>
</dependency>

测试代码

/**
 *  access-key-id和access-key-secret的作用:阿里云底层会根据这个key-id和key-secret判断是哪个用户发送的短 
 *  信,来扣除这个用户的钱
 *  signName 签名:          就是发短信时公司的标识, 使用是测试功能的话签名必须是  "阿里云短信测试"
 *  TemplateCode 模板:      使用是测试功能的话模板必须是SMS_154980808
 *  PhoneNumbers 手机号:    使用是测试功能的话, 只能使用绑定的手机号
 *  TemplateParam 验证码:   用户收到的验证码
 */
public static void main(String[] args) {
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<access-key-id>", 
                                                       "<access-key-secret>");
    IAcsClient client = new DefaultAcsClient(profile);

    SendSmsRequest request = new SendSmsRequest();
    request.setSignName("阿里云短信测试");
    request.setTemplateCode("SMS_154980808");
    request.setPhoneNumbers("12345678912");
    request.setTemplateParam("{\"code\":\"1234\"}");

    try {
        SendSmsResponse response = client.getAcsResponse(request);
        System.out.println(new Gson().toJson(response));
    } catch (ServerException e) {
        e.printStackTrace();
    } catch (ClientException e) {
        System.out.println("ErrCode:" + e.getErrCode());
        System.out.println("ErrMsg:" + e.getErrMsg());
        System.out.println("RequestId:" + e.getRequestId());
    }

}

我们执行这段代码,我们就可以神奇的发现我们测试的手机收到了一条阿里云发来的短信啦!!!

感觉有用的话,感谢一键三连! 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值