java阿里云短信接口demo

以下是一个简单的Java阿里云短信接口demo:

import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teaopenapi.modules.AcsRequest;
import com.aliyun.teaopenapi.modules.AcsResponse;
import com.aliyun.teaopenapi.modules.exceptions.ServerException;
import com.aliyun.teaopenapi.modules.exceptions.TimeoutException;
import com.aliyun.teaopenapi.modules.exceptions.UnretryableException;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.teautil.models.RuntimeOptions;

public class Main {

    public static void main(String[] args) {
        try {
            // 配置信息
            Config config = new Config()
                    .setAccessKeyId("<您的AccessKeyId>")    // 替换成您的AccessKeyId
                    .setAccessKeySecret("<您的AccessKeySecret>")  // 替换成您的AccessKeySecret
                    .setEndpoint("dysmsapi.aliyuncs.com")
                    .setProtocol("https");

            // 创建一个短信发送请求
            SendSmsRequest sendSmsRequest = new SendSmsRequest()
                    .setPhoneNumbers("<短信接收号码>")    // 替换成您的手机号码
                    .setSignName("<短信签名>")    // 替换成您的短信签名
                    .setTemplateCode("<短信模板>")  // 替换成您的短信模板
                    .setTemplateParam("{"code":"123456"}");   // 替换成您的模板参数

            // 发送短信
            SendSmsResponse sendSmsResponse = Client.sendSms(sendSmsRequest, config);

            // 打印请求返回的结果信息
            System.out.println(sendSmsResponse.getBody().code + " - " + sendSmsResponse.getBody().message);
        } catch (ServerException e) {
            // 服务器异常
            System.out.println(e.getMessage());
        } catch (UnretryableException e) {
            // 非重试异常
            System.out.println(e.getMessage());
        } catch (TimeoutException e) {
            // 超时异常
            System.out.println(e.getMessage());
        }
    }
}

以上代码中,您需要替换 <您的AccessKeyId><您的AccessKeySecret><短信接收号码><短信签名><短信模板>"code":"123456"这些配置信息,以适应您的实际情况。

此外,您还需要导入阿里云Java SDK和相关的依赖,可以通过Maven来管理依赖。在pom.xml文件中添加以下依赖:

<dependencies>
    <dependency>
        <groupId>com.aliyun.tea</groupId>
        <artifactId>dysmsapi20170525</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>teautil</artifactId>
        <version>0.0.3</version>
    </dependency>
</dependencies>

然后运行Main.java文件即可发送短信。请注意确保您的服务器能够连通阿里云短信服务API的端口,并且您已开通阿里云短信服务。

希望对您有帮助!

阿里云短信接口提供了Java SDK来方便开发者使用。以下是一个简单的Java代码示例,演示如何使用阿里云短信接口发送短信:

首先,导入阿里云SDK的maven依赖:

java阿里云短信接口demo
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.5.3</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
    <version>1.1.0</version>
</dependency>

然后,可以使用以下代码发送短信:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.dysmsapi.model.v20170525.*;
import java.util.Random;

public class SmsDemo {

    public static void main(String[] args) {
        // 阿里云账号AccessKey信息
        final String accessKeyId = "yourAccessKeyId";
        final String accessKeySecret = "yourAccessKeySecret";

        // 短信API产品名称
        final String product = "Dysmsapi";
        // 短信API产品域名
        final String domain = "dysmsapi.aliyuncs.com";

        // 初始化访问的profile
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        IAcsClient client = new DefaultAcsClient(profile);

        // 构造请求对象
        SendSmsRequest request = new SendSmsRequest();
        // 设置手机号码,多个号码用英文逗号分隔
        request.setPhoneNumbers("18888888888");
        // 设置短信签名名称
        request.setSignName("阿里云短信测试专用");
        // 设置短信模板ID
        request.setTemplateCode("SMS_123456789");
        // 生成一个随机验证码
        String code = String.valueOf(new Random().nextInt(899999) + 100000);
        // 设置短信模板参数,使用JSON格式,例如:{"code":"123456"}
        request.setTemplateParam("{"code":"" + code + ""}");

        try {
            // 发送请求,获取响应对象
            SendSmsResponse response = client.getAcsResponse(request);
            if (response.getCode() != null && response.getCode().equals("OK")) {
                System.out.println("短信发送成功!");
            } else {
                System.out.println("短信发送失败:" + response.getMessage());
            }
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

根据你的实际情况,将代码中的yourAccessKeyIdyourAccessKeySecret"18888888888""阿里云短信测试专用""SMS_123456789"替换为你自己的阿里云AccessKey信息、要发送的手机号码、短信签名和短信模板ID。

以上代码将发送一条包含随机验证码的短信给指定手机号码。如果发送成功,控制台将输出”短信发送成功!”,否则输出失败信息。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/33815.html

(0)
luotuoemo的头像luotuoemo
上一篇 2023年9月11日 09:57
下一篇 2023年9月11日 10:12

相关推荐

  • 阿里云生活物联网平台连接设备是什么意思呀

    什么叫生活物联网??物联网也分很多种类嘛??? 生活物联网的含义    物联网(IOT)是指通过各种信息传感设备,把需要的物体与互联网和通信网连接起来,进行信息交换和通讯,以实现智能化识别、定位、跟踪、监控和管理的一种网络。物联网能应用于工业、交通、物流、电力、环保、军事、公共安全、人们生活等。物联网的众多应用中,民众最关心的是与个人生活直接相关的应用,例如…

    2023年8月26日
    71700
  • 阿里云加码东南亚数据中心

    阿里云数据中心在哪些地方 阿里碧宽液的数据巧指中心主要都在南方浙江等地,杭州的数据中心最密集。虽然阿里在北京上海也有分公司,但拥有的都是本地公司的小数据中心悔物。 阿里云bgp数据中心的网站可靠吗 不知道您的意思是什么哦,任何网站只要有使用阿里云产品,都是可以打开的,至于可靠不可靠,要靠自己甄别,阿里云只是提供的网络服务。 苏州条件最好的IDC机房是不是那个…

    2023年8月27日
    74000
  • 阿里云国际站:android打开相册

    要在Android上打开相册,可以使用以下代码: Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/*"); startActivityForResult(i…

    2024年1月12日
    67400
  • 阿里云计算投资平台

    阿里云首度公布策略:无意布局云计算基础设施   徐洁云   成立近3年后,阿里云终于揭开面纱,首度公布清晰策略。   几日前阿里云在杭州举办了成立后首个大型云计算论坛,会上宣布,联合投资机构云锋基金,启动10亿元新基金项目,投资云计算平台云应用开发项目。至此,几经周折,阿里云业务重心定位在移动互联网“平台即服务”模式上。   阿里云脱胎于阿里软件,2009年…

    2023年8月29日
    82800
  • 阿里云企业邮箱的邮件撤回功能有时间限制吗?我们应该如何在代理商指导下正确使用?

    阿里云企业邮箱邮件撤回功能详解及使用指南 一、阿里云企业邮箱的邮件撤回功能是否有时间限制? 答案是有。阿里云企业邮箱的邮件撤回功能对撤回时间有明确限制: 撤回时效:仅支持撤回发送后24小时内且未被收件人阅读的邮件。 核心条件:邮件必须满足两个条件——未超过时间限制,且收件人未点击打开。 注意事项:若邮件已被阅读或转发,则无法撤回。同时,撤回仅对阿里云邮箱用户…

    2025年11月7日
    35500

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/