首页 > 其他分享 >阿里云短信服务开通(只限于测试,国内短信)

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

时间:2023-04-06 09:44:45浏览次数:31  
标签:code 短信 String request 阿里 aliyun 限于

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

前提:

需要有阿里云的密钥--》AccessKey ID 和 AccessKey Secret 是您访问阿里云 API 的密钥,具有该账户完全的权限

第一步:搜索阿里云短信产品

image-20230406090403820

第2步:点击免费开通

image-20230406090546959

第3步:开通国内信息image-20230406090758163

第4步:申请签名

image-20230406090953272

image-20230406091141199

第5步:申请模板

image-20230406091312059

image-20230406091413033

第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;
    }

标签:code,短信,String,request,阿里,aliyun,限于
From: https://www.cnblogs.com/rong-xu-drum/p/17291675.html

相关文章

  • 手机短信打开小程序
    demo:收到的短信:点击短信:    官方示例代码 默认官方H5示例地址:https://wxaurl.cn/pFawq35qbfd 自定义H5示例地址:https://wxaurl.cn/GI7aI2G1otd 实现方法:  官方文档目前三种,我用的urlLink   https://developers.weixin.qq.com/miniprogra......
  • 通过阿里云ECS服务器公网ip访问tomcat,nginx
    一、概述1、操作系统:centos72、安装nginx方法:https://www.cnblogs.com/boonya/p/7907999.html,亲测可用。3、tomcat版本:apache-tomcat-7.0.92二、操作步骤1、启动tomcat;2、进入阿里云控制台,选择安全组,配置安全组规则(添加80,8080端口规则);    3、按图示配置完成,点击......
  • 缓存短信验证码
    原来:验证码存储在session中,有效期默认30分钟。改造:1、在服务端UserController中注入RedisTemplate对象,用于操作Redis。2、在服务端UserController的sendMsg方法中,将随机生成的验证码缓存到Redis中,并设置有效期为5分钟3、在服务端UserController的login方法中......
  • 阿里巴巴为什么这样强制从List中删除元素
    阿里巴巴为什么这样强制从List中删除元素 还是先举个例子,你侄女对天文知识感兴趣,然后你就用程序写了太阳系九大星系(水星、金星、地球、火星、木星、土星、天王星、海王星、冥王星)的运行轨迹图,然后拿给侄女看。然后她说错了错了,你的知识太旧了,多了一颗星。根据2006年8月24日国......
  • 阿里再无“百年阿里”!
    阿里再无“百年阿里”!投递人 itwriter 发布于 2023-04-0220:46 评论(0) 有1080人阅读 原文链接 [收藏] « »引:阿里P8及以下新员工入职会集体出差到杭州总部参加一个为期10天的“百年阿里”培训,简称“百阿”。互联网坊间八卦从阿里多位员工处获悉。举......
  • 【服务器】【阿里云】免费升级HTTP为HTTPS
    1、购买SSL证书购买免费版的证书ps.免费版一张证书虽然只能用于一个域名,但是有二级域名的话可以多申请几张。之后到控制台去申请即可2、宝塔配置SSL进入站点,选择SSL配置,粘贴密钥key和证书pem,并选择强制https即可。3、Wordpress配置Url先把新的链接改成https然后去数据库里把旧的......
  • 阿里JAVA开发规范整理
    一、命名风格【强制】类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:DO/BO/DTO/VO/AO正例:MarcoPolo/UserDO/XmlService/TcpUdpDeal/TaPromotion反例:macroPolo/UserDo/XMLService/TCPUDPDeal/TAPromotion【强制】方法名、参数名、......
  • 阿里云RDS与ECS自建mysql数据库主从同步(GTID方式)
      1、GTID的概念全局事务标识:globaltransactionidentifiers;GTID是一个事务一一对应,并且全局唯一ID;一个GTID在一个服务器上只执行一次,避免重复执行导致数据混乱或者主从不一致;GTID用来代替传统复制方法,不再使用MASTER_LOG_FILE+MASTER_LOG_POS开启复制。而是使用MASTER_AUT......
  • 本地Navicat 连接阿里云esc上mysql
     登陆esc服务器上的mysql选择mysql  查看user表中的两个关键参数selectuser,hostfromuser; localhost代表本地访问。这个字段host代表访问ip限制updateusersethost="%"whereuser="root";systemctlrestartmysqld重启mysql。使权限生效......
  • swoft 上传图片到 阿里云oss aliyun-oss
     1、swoft 获取上传的文件。官方文档上面没有看到       $files=$request->getUploadedFiles();       $file=$files['file']; 2、在模型文件中引入sdkrequire_once"/home/www/swoft/app/Model/Entity/aliyun-oss/autoload.php";3、引用命名空......