阿里云为项目添加发送短信验证码功能

一、阿里云

1.搜索短信服务并开通

在这里插入图片描述

2.添加签名

在这里插入图片描述进入界面如下图所示
请添加图片描述
注:
        阿里云审核比较严格,需要你有一个成熟的项目,而且签名必须和项目名称相同。两种方式的要求也写在上面图片中了。本人亲测,这个不能糊弄,如果域名不能访问或者未提供测试账号,又或者项目名与签名不符,都不会通过审核,非常难受。
        不知道怎样将自己域名绑定项目的,可以看我之前的博客:云服务器通过域名访问自己的项目

3.添加模板

在这里插入图片描述进入后如下图所示,按要求填写即可
在这里插入图片描述

4.获取AccessKey

在这里插入图片描述为了保障安全,建议使用子账户
在这里插入图片描述创建用户与用户组
在这里插入图片描述
在这里插入图片描述
将刚才创建的用户添加到组里
在这里插入图片描述注:很重要!!!!添加后会生成一个AccessID与AccessKey一定要记住保存下来,后续这个将无法获取,后面代码中需要注入。

添加授权
在这里插入图片描述

5.代码使用

在这里插入图片描述
可以根据自己使用的语言选择,阿里云提供了多种语言的模板。下面以Java为例:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.dysmsapi.model.v20170525.*;

public class SendSms {

    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-beijing", "<your-access-key-id>", "<your-access-key-secret>");
        /** use STS Token
        DefaultProfile profile = DefaultProfile.getProfile(
            "<your-region-id>",           // The region ID
            "<your-access-key-id>",       // The AccessKey ID of the RAM account
            "<your-access-key-secret>",   // The AccessKey Secret of the RAM account
            "<your-sts-token>");          // STS Token
        **/
        IAcsClient client = new DefaultAcsClient(profile);

        SendSmsRequest request = new SendSmsRequest();
        request.setPhoneNumbers("1368846****");//接收短信的手机号码
        request.setSignName("阿里云");//短信签名名称
        request.setTemplateCode("SMS_20933****");//短信模板CODE
        request.setTemplateParam("张三");//短信模板变量对应的实际值

        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());
        }

    }
}

也可以将该代码封装为一个方法或者工具类直接调用。
注:使用该代码之前必须要导入官方提供的jar包。如果为maven项目,则需要导入一下依赖:

<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>1.1.0</version>
</dependency>
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值