专栏首页cwl_JavaJava工具集-阿里云短信API工具

Java工具集-阿里云短信API工具

  1. 添加依赖
        <!-- 阿里云API -->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>3.3.1</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>1.0.0</version>
        </dependency>
  1. 代码示例
package com.simple.util.api.ali;

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;

/**
 * @program: simple_tools
 * @description: 阿里云短信服务工具类
 * @author: ChenWenLong
 * @create: 2020-01-02 20:48
 **/
public class SmsUtils {

    //产品名称:云通信短信API产品,开发者无需替换
    private static final String PRODUCT = "Dysmsapi";
    //产品域名,开发者无需替换
    private static final String DOMAIN = "dysmsapi.aliyuncs.com";

    private static final String ACCESS_KEY_ID = "请从阿里云上获取";
    private static final String ACCESS_KEY_SECRET = "请从阿里云上获取";

    /**
     * 功能描述:
     * 〈发送短信〉
     *
     * @params : [phone, code, signName, template]
     * @return : com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse
     * @author : cwl
     * @date : 2020/1/2 20:52
     */
    public static SendSmsResponse sendSms(String phone, String code, String signName, String template) throws ClientException {

        //可自助调整超时时间
        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
        System.setProperty("sun.net.client.defaultReadTimeout", "10000");

        //初始化acsClient,暂不支持region化
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou",
                ACCESS_KEY_ID, ACCESS_KEY_SECRET);
        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", PRODUCT, DOMAIN);
        IAcsClient acsClient = new DefaultAcsClient(profile);

        //组装请求对象-具体描述见控制台-文档部分内容
        SendSmsRequest request = new SendSmsRequest();
        request.setMethod(MethodType.POST);
        //必填:待发送手机号
        request.setPhoneNumbers(phone);
        //必填:短信签名-可在短信控制台中找到
        request.setSignName(signName);
        //必填:短信模板-可在短信控制台中找到
        request.setTemplateCode(template);
        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
        request.setTemplateParam("{\"code\":\"" + code + "\"}");

        //选填-上行短信扩展码(无特殊需求用户请忽略此字段)
        //request.setSmsUpExtendCode("90997");

        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
        request.setOutId("123456");

        //hint 此处可能会抛出异常,注意catch
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);

        System.out.println(String.format("发送短信状态:%s",sendSmsResponse.getCode()));
        System.out.println(String.format("发送短信消息:%s",sendSmsResponse.getMessage()));

        return sendSmsResponse;
    }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SaaS-企业微服务-企业CRUD

    JpaRepository提供了基本的增删改查 JpaSpecificationExecutor用于做复杂的条件查询

    cwl_java
  • 快速学习-Flume企业开发案例

    在job文件夹下创建Flume Agent配置文件flume-telnet-logger.conf。 [atguigu@hadoop102 job]$ tou...

    cwl_java
  • ElasticSearch(7.2.2)-搜索的简单使⽤

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    cwl_java
  • JavaWeb(二)cookie与session的应用

    前言   前面讲了一堆虚的东西,所以这篇我们来介绍一下cookie和session的应用。 一、使用cookie记住用户名 1.1、思路介绍 ? 1.2、实现代...

    用户1195962
  • 浅谈面试中的OO设计问题

    OO设计问题是电面或者onsite中常考的问题,尤其对以Java为主要开发语言的公司(比如Amazon),OO设计问题可以算必考。OO设计题目的特点是题目非常...

    包子面试培训
  • ARM 联合多家知名公司,建立自动驾驶计算联盟【智能快讯】

    AI 无处不在的时代,每天都有新的技术与研究成果出现。无论学术界还是商界,技术还是产品,AI 的新发现都源源不断,在带给我们全新视角的同时,也引起我们更深的思考...

    HyperAI超神经
  • redis 学习笔记(2)-client端示例代码

    redis提供了几乎所有主流语言的client,java中主要使用二种:Jedis与Redisson

    菩提树下的杨过
  • 熵增强的熵正规强化学习以及从策略梯度到Q学习的连续路径(CS ML)

    已知增加熵以奖励将贪婪的argmax策略软化为softmax策略。 重新构造了熵增强,并导致有动机以KL散度的形式向目标函数引入附加的熵项,以使优化过程规则化。...

    蔡秋纯
  • 18.4.2日报

    1,修复hao.360.cn里用wkerunjs去模拟点击无效的问题。原因是mb安全策略,把

    龙泉寺扫地僧
  • 使用tophat-fusion鉴定融合基因

    tophat-fusion 是一款利用RNA_seq 数据鉴定融合基因的工具,官网链接如下:

    生信修炼手册

扫码关注云+社区

领取腾讯云代金券