阿里短信使用 java

1.pom中引入

com.aliyunaliyun-java-sdk-core3.5.1

com.aliyunaliyun-java-sdk-dysmsapi1.1.0


2 编码

package com.shihe.permission.util;

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.profile.DefaultProfile;

import com.aliyuncs.profile.IClientProfile;

import com.shihe.permission.exception.PermissionException;

public class aliMessageUtil {

    // 产品名称:云通信短信API产品,开发者无需替换

    private static final String product = "Dysmsapi";

    // 产品域名,开发者无需替换

    private static final String domain = "dysmsapi.aliyuncs.com";

    // 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)

  private static String accessKeyId = "yourAccessKeyId";

    private static String accessKeySecret = "yourAccessKeySecret";

    private static String signName = "yourAccessKeySecret";

    private static String identifyingTempleteCode = "yourAccessKeySecret";

    private static String orderTempleteCode = "yourAccessKeySecret";


    public static void main(String[] args) {

        // 发短信

        SendSmsResponse response = aliMessageUtil.sendIdentifyingCode("1707****423", "123456");

    // SendSmsResponse response = MoblieMessageUtil.OrderCode("131****0920", "谢谢你","183****5913");

        System.out.println("短信接口返回的数据----------------");

        System.out.println("Code=" + response.getCode());

        System.out.println("Message=" + response.getMessage());

        System.out.println("RequestId=" + response.getRequestId());

        System.out.println("BizId=" + response.getBizId());

    }

    public static SendSmsResponse sendSms(String mobile, String templateParam, String templateCode)

            throws ClientException {

        // 可自助调整超时时间

        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");

        System.setProperty("sun.net.client.defaultReadTimeout", "10000");

        // 初始化acsClient,暂不支持region化

        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);

        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);

        IAcsClient acsClient = new DefaultAcsClient(profile);

        // 组装请求对象-具体描述见控制台-文档部分内容

        SendSmsRequest request = new SendSmsRequest();

        // 必填:待发送手机号

        request.setPhoneNumbers(mobile);

        // 必填:短信签名-可在短信控制台中找到

        request.setSignName(signName);

        // 必填:短信模板-可在短信控制台中找到

        request.setTemplateCode(templateCode);

        // 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为

        request.setTemplateParam(templateParam);

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

        // request.setSmsUpExtendCode("90997");

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

        request.setOutId("yourOutId");

        // hint 此处可能会抛出异常,注意catch

        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);

        return sendSmsResponse;

    }

    public static SendSmsResponse sendIdentifyingCode(String mobile, String code) {

        try {

            return sendSms(mobile, "{\"code\":\"" + code + "\"}", identifyingTempleteCode);

        } catch (ClientException e) {

        throw new PermissionException();

        }

    }

    public static SendSmsResponse OrderCode(String mobile, String consignee,String number) {

        try {

            return sendSms(mobile, "{\"consignee\":\"" + consignee + "\",\"number\":\"" + number + "\"}", orderTempleteCode);

        } catch (ClientException e) {

        throw new PermissionException();

        }

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,796评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,169评论 18 399
  • 一套完整的登陆注册业务逻辑 准备部分基础工具类Basepackage com.jericho.tools;impo...
    JerichoPH阅读 7,176评论 0 9
  • 过完腊八节,成都竟迎来了一场久违的雪。 我喜欢那漫天飘舞的雪花,它总是纷纷扬场下得那么潇洒,美中不足的是天太冷了!...
    yolanda张阅读 2,507评论 2 4
  • 那时外地人想在京入学谈何容易!不知道托了多少关系送了多少礼,才进了太平湖小学的幼儿班。虽然我在老家已经上了几天一年...
    高亮赶水阅读 2,649评论 2 0