发送短信验证码---阿里大于

使用阿里大于发送短信

1.进入阿里云控制台,搜索 ‘短信服务’

在这里插入图片描述

2.点击’快速学习’,界面如下

需要签名和模板,这也是调用发送短信的关键
在这里插入图片描述

3.点击国内消息和添加签名

在这里插入图片描述
在这里插入图片描述
完成操作后:
在这里插入图片描述
主要需要两个参数:ID和Secret
在这里插入图片描述
由于我已经申请了一个验证码了,现在看到的是申请通用的界面,就不做介绍了…
有疑问可以参考https://www.cnblogs.com/amunamuna/p/9686661.html

4.阿里大于发送短信工具类

<!--手机短信依赖-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.4.6</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-ecs</artifactId>
            <version>4.17.6</version>
        </dependency>
package com.athome.ali;

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;

/**
 * @author liang
 * @version 1.0
 * @date 2020/3/30 20:28
 */
public class AliDaYuUtil {
    /**
     * 根据用户手机号发送短信验证码
     * @param phoneNumbers : 短信收件人
     * @param length : 验证码长度
     * @return : 短信验证码code
     */
    public static String sendTelValidateCode(String phoneNumbers ,int length ){
        /**
         * 调用短信API请求
         *
         * access key
         * regionId:短信服务区域.
         * accessKeyId:阿里云短信服务access keyId.
         * secret:access key密钥.
         */
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
                "LTAI4Fpfk3f2bfeMdMnpeToN", "ICAlFtny2ABNpVgGeWd49O8ftdHwBV");
        IAcsClient client = new DefaultAcsClient(profile);
        /**
         * 传入参数,调用SDK
         */
        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", phoneNumbers);
        /**
         * 短信签名
         */
        request.putQueryParameter("SignName", "巅峰");//巅峰
        /**
         * 短信通知模板
         */
        request.putQueryParameter("TemplateCode", "SMS_186951578");//SMS_186951578:验证码; SMS_186946660:短信验证
        /**
         * 模板变量名
         * 用户姓名name,时段time,数值code
         */
        String code =StringUtil.getDigitalRandom(length);
        int i = Integer.parseInt(code);
        request.putQueryParameter("TemplateParam", "{\"code\":\""+i+"\"}");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            if (!response.getData().contains("OK")){
                return null ;
            }
        }
        catch (ServerException e) {
            e.printStackTrace();
            return null ;
        }
        catch (ClientException e) {
            e.printStackTrace();
            return null ;
        }
        return  code ;
    }

    /**
     * 发送短信通知,修改密码成功等。。。
     * @param tel : 手机号
     * @return
     */
    public static String sendTelMessage(String tel ){
        return null ;
    }

    public static void main(String[] args) {
        String s = sendTelValidateCode("15984251717", 6);
        System.out.println(s);
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值