阿里云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);
    }
}


相关文章
|
4月前
sms4j对接阿里云短信
sms4j对接阿里云短信
412 0
|
2月前
|
Java 开发工具 Maven
短信服务 platform-sms 0.6.1 发布
短信服务 platform-sms 0.6.1 发布,本次更新主要涉及三个部分 : 1、修复短信渠道适配器加载逻辑 BUG ; 2、短信服务 SDK 上传到 maven 中央仓库; 3、搭建线上演示环境。
|
Java 云计算
JAVA实现《阿里云发送短信验证码以及短信通知》
JAVA实现《阿里云发送短信验证码以及短信通知》
920 0
|
缓存 NoSQL Redis
整合阿里云短信进行短信发送(2) | 学习笔记
快速学习 整合阿里云短信进行短信发送(2)
228 0
整合阿里云短信进行短信发送(2) | 学习笔记
|
JSON fastjson 数据格式
整合阿里云短信进行短信发送(1) | 学习笔记
快速学习 整合阿里云短信进行短信发送(1)
375 0
|
API 开发工具 数据安全/隐私保护
使用阿里云的短信服务发送短信
使用阿里云的短信服务发送短信
682 0
使用阿里云的短信服务发送短信
|
Java 数据安全/隐私保护 安全
java中用中国网建提供的SMS短信平台发送短信
<p>接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下。大体上说的都是有三种方法,分别是<span style="font-family:Arial; font-size:18px; line-height:26px">sina提供的webservice接口、短信mao和中国网建提供的SMS短信平台。</span></p> <p><span style="fon
4587 0
|
Web App开发 Windows
微信公众平台向特定用户推送消息
最近研究微信公众平台,这里整理了一下向特定用户推送消息的思路 一、首先需要将微信的openid与系统用户绑定。 在用户关注公众平台的时候,回复一个链接,要求用户绑定,可以设计如下消息进行回复,(openid最好进行加密处理,后者还需要用这个字段绑定fakeid)。
2503 0
|
关系型数据库 Linux PostgreSQL
|
关系型数据库 Linux PostgreSQL