我是靠谱客的博主 称心眼睛,最近开发中收集的这篇文章主要介绍Java调用阿里云短信接口,发送短信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java调用阿里云短信接口,发送短信

1.短信服务这个很简单,只需要知道accessKeyId(AK)、accessKeySecret(SK)、短信签名、短信模板即可。

2.域名和产品名称是固定的,使用的是阿里的产品

AK和SK查看

AK:
在这里插入图片描述

SK:

ps:短信模板和签名。
注意:这里的短信签名的适用场景和短信模板的类型必须相同,否则会报错。(即:签名的适用场景为验证码,则模板的类型也是验证码)

在这里插入图片描述
在这里插入图片描述

ps:个人申请短信签名和模板很难通过审核。现在短信签名申请,如果没有上线的app或者网站的话,貌似申请不了了。
个人申请半天,短信签名一直没通过,幸好之前申请过。。。嘿嘿。。。

废话不多说,直接上代码。

POM文件依赖:

     <!--阿里短信服务-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>3.7.1</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
            <version>1.1.0</version>
        </dependency>

代码如下:

@Component
public class SMSNotification {

    // 此处需要替换成开发者自己的AK和SK(在阿里云访问控制台寻找)
    private static String accessKeyId = "xxxxxx";
    private static String accessKeySecret  = "xxxxxx";

    // 阿里云产品名称:云通信短信API产品,开发者无需替换
    private static String product  = "Dysmsapi";

    // 阿里云产品域名,开发者无需替换
    private static String domain  = "dysmsapi.aliyuncs.com";

    public String sendSMS(String message){
        try
        {
            //初始化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();
            //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
            request.setPhoneNumbers("手机号1,手机号2");
            //必填:短信签名-可在短信控制台中找到
            request.setSignName("这里是你自己的短信签名");
            //必填:短信模板-可在短信控制台中找到
            request.setTemplateCode("这里是你自己的短信模板CODE");
            //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
            request.setTemplateParam(message);
            //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
            request.setOutId("");

            //请求失败这里会抛ClientException异常
            SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
            return sendSmsResponse.getMessage();
        } catch (Exception ex) {
            log.info("短信发送失败:{} ", ex.getMessage());
            return "";
        }

    }
}

最后

以上就是称心眼睛为你收集整理的Java调用阿里云短信接口,发送短信的全部内容,希望文章能够帮你解决Java调用阿里云短信接口,发送短信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(27)

评论列表共有 0 条评论

立即
投稿
返回
顶部