用多少眼泪才能让你相信 发表于 2024-6-11 12:06:08

阿里云短佩服务开通(只限于测试,国内短信)

阿里云短佩服务开通(只限于测试,国内短信)

条件:

需要有阿里云的密钥–》AccessKey ID 和 AccessKey Secret 是您访问阿里云 API 的密钥,具有该账户完全的权限
第一步:搜索阿里云短信产物

https://img-blog.csdnimg.cn/img_convert/da692522c564c5706802e4c9efc36b97.png
第2步:点击免费开通

https://img-blog.csdnimg.cn/img_convert/3169c86766ba11b89b94b14a1543b495.png
第3步:开通国内信息https://img-blog.csdnimg.cn/img_convert/91e01c39e9fa002f78ca4ce24f171f9d.png

第4步:申请签名

https://img-blog.csdnimg.cn/img_convert/e55528e3e07334162abdfb187ec4e1ae.png
https://img-blog.csdnimg.cn/img_convert/6a5a10b3c4d820c5a69843c34012ab90.png
第5步:申请模板

https://img-blog.csdnimg.cn/img_convert/8d3e045565757ca90384f793e73e6036.png
https://img-blog.csdnimg.cn/img_convert/a4491fb36566031784ad3ec902f75204.png
第6步:参考阿里云接口调用文档,实现对短佩服务接口的调用(建议参考接文档)

6-1:引入调用该接口需要的依靠

<!--      使用阿里云需要引入的依赖-->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
6-2 配置文件中需要利用说明的配置

# 对应的签名密钥
aliyun.sms.regionId=cn-hangzhou(自己调用接口时使用的regionId)
aliyun.sms.accessKeyId=阿里云账户的AccessKey ID
aliyun.sms.secret=阿里云账户的AccessKey Secret
6-3 读取该微服务模块中的配置application.properties文件信息,方便调用

/**
* @author xu
* @Description
* 读取该微服务模块中的配置application.properties文件信息
* @date 2023/04/03 - 16:31:45
* @Modified By:
*/
@Component
public class ConstantPropertiesUtils implements InitializingBean {

    @Value("${aliyun.sms.regionId}")
    private String regionId;

    @Value("${aliyun.sms.accessKeyId}")
    private String accessKeyId;

    @Value("${aliyun.sms.secret}")
    private String secret;

    public static String REGION_Id;
    public static String ACCESS_KEY_ID;
    public static String SECRECT;

    @Override
    public void afterPropertiesSet() throws Exception {
      REGION_Id=regionId;
      ACCESS_KEY_ID=accessKeyId;
      SECRECT=secret;
    }
}
6-4 :在程序中利用上述依靠的类,实现对接口的调用,我实现一个利用短信验证的登录操作(只是部分代码)

/**
   *
   * @Description
   * 调用service方法通过整合短信服务进行发送
   * @param phone 登录用户的手机号
   * @param code 需要发送给用户登录时的验证码
   *
   */
    @Override
    public boolean send(String phone, String code) {
      // 判断手机号是否为空
      if (StringUtils.isEmpty(phone)) {
            return false;
      }

      // 整合阿里云短信服务
      // 设置相关参数
      DefaultProfile profile = DefaultProfile.
                getProfile(ConstantPropertiesUtils.REGION_Id,
                        ConstantPropertiesUtils.ACCESS_KEY_ID,
                        ConstantPropertiesUtils.SECRECT);
      IAcsClient client = new DefaultAcsClient(profile);
      CommonRequest request = new CommonRequest();
      //request.setProtocol(ProtocolType.HTTPS);
      request.setMethod(MethodType.POST);
      request.setDomain("dysmsapi.aliyuncs.com");
      request.setVersion("2017-05-25");
      request.setAction("SendSms");

      //手机号
      request.putQueryParameter("PhoneNumbers", phone);
      //签名名称
      request.putQueryParameter("SignName", "你自己申请签名时,签名的名称");
      //模板code
      request.putQueryParameter("TemplateCode", "你申请的模板对应的模板CODE");
      //验证码使用json格式   {"code":"123456"}
      Map<String,Object> param = new HashMap();
      param.put("code",code);
      request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));

      //调用方法进行短信发送
      try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            return response.getHttpResponse().isSuccess();
      } catch (ServerException e) {
            e.printStackTrace();
      } catch (ClientException e) {
            e.printStackTrace();
      }
      return false;
    }

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 阿里云短佩服务开通(只限于测试,国内短信)