阿里云sms发送短信(新)

简介: 阿里云sms发送短信(新)

之前跟着狂神学习sms发送短信

今天拿出来用发现。。。依赖版本冲突,用的新版的依赖,旧的方法直接无法调用了,于是自己去看了看官方文档。废话不多说,直接贴代码

对了,开通服务教程

package com.ruben.sms;
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.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import java.util.HashMap;
import java.util.Map;
/**
 * @ClassName: SmsUtil
 * @Description:
 * @Date: 2020/6/7 10:06
 * *
 * @author: achao<achao1441470436 @ gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 *
 * <dependency>
 * <groupId>com.alibaba</groupId>
 * <artifactId>fastjson</artifactId>
 * <version>1.2.62</version>
 * </dependency>
 * <dependency>
 * <groupId>com.aliyun</groupId>
 * <artifactId>aliyun-java-sdk-core</artifactId>
 * <version>4.5.1</version>
 * </dependency>
 */
public class SmsUtil {
    public static boolean SendSms(String phoneNum, String template, String code) {
        DefaultProfile profile = DefaultProfile.getProfile(
                "cn-hangzhou",
                //accessKeyId
                "<你的accessKeyId>",
                //accessSecret
                "<你的accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);
        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        //接收号码
        request.putQueryParameter("PhoneNumbers", phoneNum);
        //短信签名(如某某科技有限公司)
        request.putQueryParameter("SignName", "<你的短信签名>");
        //短信模板
        request.putQueryParameter("TemplateCode", template);
        //验证码
        Map<String, Object> map = new HashMap<>();
        map.put("code", code);
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            map = JSONObject.parseObject(response.getData());
            System.out.println(map);
            code = (String) map.get("Code");
            if (!"OK".equals(code)) {
                return false;
            }
        } catch (ClientException e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
    public static void main(String[] args) {
        boolean isSuccess = SendSms("<接收的电话号码>", "<短信模板>", "<验证码>");
        System.out.println(isSuccess);
    }
}


相关文章
|
安全 Linux 数据安全/隐私保护
openssh有rpm包吗?
【4月更文挑战第14天】openssh有rpm包吗?
1247 0
|
定位技术
ArcGIS地形起伏度+地形粗糙度+地表切割深度+高程变异系数提取
ArcGIS地形起伏度+地形粗糙度+地表切割深度+高程变异系数提取
17742 0
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
6468 3
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
|
10月前
|
机器学习/深度学习 人工智能 算法
传统笔触与算法洪流:AI时代的艺术创作挑战
本文探讨了传统艺术与AI技术在创作中的共生关系及其对艺术生产力的赋能。研究表明,混合工作流能显著提升效率,而传统媒介带来的“意外美学”与AI生成的跨时空意象拼接相辅相成。AI通过快速生成视觉原型、优化色彩方案和提供即用元素,极大加速创作过程。同时,人机协同可实现风格融合、逆向思维训练及动态知识网络构建,但创作者需建立风格防火墙、验证机制和价值评估体系以守住创作主权。未来艺术教育将涵盖多层能力培养,具备跨维能力的艺术家市场竞争力将大幅提升。最终,真正成功的创作者是能够融合传统与科技、让艺术回归情感表达本质的“双脑创作者”。
504 0
|
存储 小程序 前端开发
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
1495 0
|
前端开发
前端input上传文件获取视频或音频的时长
前端input上传文件获取视频或音频的时长
692 0
|
Kubernetes 网络协议 网络安全
Pod之间的通信问题
【10月更文挑战第6天】
595 4
基于GA遗传优化的PID控制器最优控制参数整定matlab仿真
通过遗传算法优化PID控制器的Kp、Ki、Kd参数,以输出误差为目标值,迭代求得最优参数。采用MATLAB 2022a验证,利用遗传算法全局寻优特性,自动完成参数整定,适合复杂及非线性系统,有效提升控制性能。
|
存储 Java
SpringBoot导入和导出Csv文件(二十八)上
SpringBoot导入和导出Csv文件(二十八)上
1924 1
SpringBoot导入和导出Csv文件(二十八)上
|
Java Maven
解决Maven中CANNOT Resolve XXX错误
解决Maven中CANNOT Resolve XXX错误
1238 0