SpringMVC 结合阿里云 发送短信

本文介绍了如何在Java项目中利用SpringMVC框架结合阿里云短信服务发送短信。首先,要在阿里云控制台获取accessKeyId和accessKeySecret。然后,引入阿里云SDK的Maven依赖,创建SendSmsRequest类,设置签名名称、模板代码、接收手机号和JSON格式的模板参数。最后,展示了一段Java代码示例,用于创建客户端并发送短信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阿里云短信

  • 这里使用阿里云短信服务(可以选择其他)

  • 购买了短信服务后,进入控制台:https://dysms.console.aliyun.com/quickstart

  • 进入 快速学习和测试
    在这里插入图片描述

  • 选择Java,下方就有代码:

  • 引入依赖,点击右侧的 SDK 依赖信息 获取maven。
    在这里插入图片描述

accessKeyId 以及accessKeySecret查找的方式:

  1. 点击头像打开accessKey管理
    在这里插入图片描述

  2. 进行查看所需要的accessKeyId 以及accessKeySecret

    1. 注意,accessKeySecret 只会显示一次,想要第二次查看需进行验证;
    2. 若是使用子用户,则不能再次显示 accessKeySecret 了。
      在这里插入图片描述
      在这里插入图片描述

java 编写

  • 直接复制阿里云提供的代码

com.aliyun.dysmsapi20170525.models.SendSmsRequest 类:

  • setSignName:代表的签名名称
    在这里插入图片描述

  • setTemplateCode:代表的模板code
    在这里插入图片描述

  • setPhoneNumbers:接收短信的 手机号

  • setTemplateParam:模板参数(例如验证码),要求是json字符串

Maven 依赖:

<!-- 阿里云短信 -->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>dysmsapi20170525</artifactId>
    <version>2.0.23</version>
</dependency>
<!-- 如果报错:java.lang.NoClassDefFoundError: org/bouncycastle/jce/provider/BouncyCastleProvider,则添加 -->
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.69</version>
</dependency>

代码:

public class TestSms {
    public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填,您的 AccessKey IDr
                .setAccessKeyId(accessKeyId)
                // 必填,您的 AccessKey Secret
                .setAccessKeySecret(accessKeySecret);
        // 访问的域名
        config.endpoint = "dysmsapi.aliyuncs.com";
        return new com.aliyun.dysmsapi20170525.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        com.aliyun.dysmsapi20170525.Client client = TestSms.createClient("accessKeyId", "accessKeySecret");
        com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
                .setSignName("阿里云短信测试")
                .setTemplateCode("SMS_154950909")
                .setPhoneNumbers("手机号码")
                .setTemplateParam("{\"code\":\"1234\"}"); // 验证码,json字符串
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // 复制代码运行请自行打印 API 的返回值
            com.aliyun.dysmsapi20170525.models.SendSmsResponse resp = client.sendSmsWithOptions(sendSmsRequest, runtime);
            System.out.println(resp);
        } catch (TeaException error) {
            // 如有需要,请打印 error
            System.out.println(Common.assertAsString(error.message));
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 如有需要,请打印 error
            System.out.println(Common.assertAsString(error.message));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TryMyBestTo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值