阿里云短信发送验证码

1.百度搜索阿里云,支付宝登录阿里云。

2.点击右下角控制台,进入阿里云控制台页面。

3点击右上角头像,然后点击AccessKey管理,弹出页面点击开始使用子用户AccessKey,进入RAM访问控制

4.创建用户组、用户、添加权限

 

注意:添加用户的时候一点要点击编程访问,这样我们编程的时候才能用API进行调用发短信验证码。

特别注意:添加完用户之后一定要点击下载CSV文件将AccessKey ID 和AccessKey Secret 保存好,千万不能让别人获取到,否则只能删除用户重新创建。

 

添加权限搜索SMS将对应的权限添加进去。

5.搜索短信服务进入短信管理控制台,点击国内消息

4.添加签名

签名:为短信【】里面的内容,如【某某某技术公司】您的验证码为:123456,该验证码 5 分钟内有效,请勿泄漏于他人。

5.添加模版

模板内容:您的验证码为:${code},该验证码 5 分钟内有效,请勿泄漏于他人。code为你生产的二维码。

注意:所有的申请说明不能乱写,否则审核不通过。

可以写“因公司需要发送短信验证码”等其他正规理由。

6.点击帮助文档,找到demo事例

 

PhoneNumbers:要发送的电话号码。

SignName:签名管理里面的签名名称。

TemplateCode:模板管理里的模板CODE。

TemplateParam:短信验证码格式为JSON字符串 {"code",''123456"}。

填写完成可以发起调用查看是否发送成功。

7 导入maven 依赖jar包

<dependency>
   <groupId>com.aliyun</groupId>
   <artifactId>aliyun-java-sdk-core</artifactId>
   <version>4.1.0</version>
</dependency>
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.28</version>
</dependency>

8.编写后台程序

这里可以将第6步中图二右侧代码粘贴到项目中进行修改,这里是我自己写的一个工具类

import com.alibaba.fastjson.JSONObject;
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;
import lombok.extern.slf4j.Slf4j;

import java.util.HashMap;
import java.util.Map;



@Slf4j
public class SendSmsUtils {

    private static final String ALI_ACCESS_KEY_ID= "你的AccessKey ID";//AccessKey ID
    private static final String ALI_ACCESS_KEY_SECRET= "你的AccessKeySecret";//AccessKeySecret
    private static final String ALI_SIGN_NAME= "签名名称";//签名名称
    private static final String ALI_TEMPLATE_CODE= "模版CODE";//模版CODE

    /**
     * 阿里云发送短信验证码
     * @param phoneNumbers 手机号
     * @param code 短信验证码
     * @return
     */
    public static boolean SendAliSms(String phoneNumbers,int code){
        Map<String,Object> map = new HashMap();
        map.put("code",code);
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", ALI_ACCESS_KEY_ID, ALI_ACCESS_KEY_SECRET);
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain("dysmsapi.aliyuncs.com");
        request.setVersion("2017-05-25");
        request.setAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", phoneNumbers);
        request.putQueryParameter("SignName", ALI_SIGN_NAME);
        request.putQueryParameter("TemplateCode", ALI_TEMPLATE_CODE);
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));
        try {
            CommonResponse response = client.getCommonResponse(request);
            log.info("阿里云短信发送成功返回结果:"+response.getData());
            return response.getHttpResponse().isSuccess();
        } catch (ServerException e) {
            log.error("阿里云短信发送失败返回结果: "+ e.getMessage());
            e.printStackTrace();
        } catch (ClientException e) {
            log.error("阿里云短信发送失败返回结果: "+ e.getMessage());
            e.printStackTrace();
        }
        return false;
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值