阿里云发送短信功能(Java)

(1)注册用户,并且开通短信套餐

(2)

点击快速学习,然后绑定测试的手机号码。

选用专用测试签名(自定义的话阿里可能会验证什么什么的比较麻烦)

然后在选取调用API

 

(3)

鼠标滑动右上角,然后点击AccessKey,进入页面创建AccessKey,之后将key和secret保存下来。

 (4)

这是进入的调用短信API的页面,然后开始复制粘贴代码


@DubboService
@Service
public class MessageServiceImpl implements MessageService {@Value("${message.accessKeyId}")private String accessKeyId;@Value("${message.accessKeySecret}")private String accessKeySecret;@SneakyThrows@Overridepublic BaseResult sendMessage(String phoneNumber, String code) {//第一个参数:手机号
//第二个参数验证码StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder().accessKeyId(accessKeyId).accessKeySecret(accessKeySecret).build());AsyncClient client = AsyncClient.builder().region("cn-hangzhou") // Region ID.credentialsProvider(provider).overrideConfiguration(ClientOverrideConfiguration.create().setEndpointOverride("dysmsapi.aliyuncs.com")).build();// Parameter settings for API requestSendSmsRequest sendSmsRequest = SendSmsRequest.builder().signName("阿里云短信测试").templateCode("SMS_154950909").phoneNumbers(phoneNumber).templateParam("{\"code\":\"" + code + "\"}").build();CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);SendSmsResponse resp = response.get();client.close();SendSmsResponseBody respBody = resp.getBody();if ("OK".equals(respBody.getCode())) {return new BaseResult(200, respBody.getCode(), respBody.getMessage());} else {return new BaseResult(500, respBody.getCode(), respBody.getMessage());}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10、Flink 动态表之表到流的转换详解

表到流的转换 动态表可以像普通数据库表一样通过 INSERT、UPDATE 和 DELETE 来不断修改,它可能是一个只有一行、不断更新的表,也可能是一个 insert-only 的表,没有 UPDATE 和 DELETE 修改,或者介于两者之间的其他表。 在将动态表转换为流或将其写入外部系统时,需要对这些…

3秒AI写真出图,Stable Diffusion2024升级版+使用教程来了!(无需安装,解压即用)

要说今年摄影圈最大的新秀 那妥妥的就Stable Diffusion 比如下面的写真照片 你敢信这是SD绘画生成的&#xff1f; 就在刚刚它又全面升级了 新版无需安装&#xff0c;直接解压就能用 比之前推送的更加智能、快速和简单 另外还特意为大家准备了 Stable Diffusion 人工智能…

故障诊断 | 基于小波时频图与Swin Transformer的轴承故障诊断方法(PyTorch)

文章目录 文章概述程序设计参考资料文章概述 基于小波时频图与Swin Transformer的轴承故障诊断方法 针对用传统的故障诊断方法难以对非线性非平稳的柴油机故障信号进行准确高效诊断的问题, 提出基于小波时频图与Swin Transformer的故障诊断方法。该方法可以有效结合小波时频分…

Git实战精粹

一、快速入门 1. 什么是Git Git是一个分布式的版本控制软件。 软件&#xff0c;类似于QQ、office、dota等安装到电脑上才能使用的工具版本控制&#xff0c;类似于毕业论文、写文案、视频剪辑等&#xff0c;需要反复修改和保留原历史数据分布式 文件夹拷贝本地版本控制集中式…

03-Python的运行方式

《Python 教程》总结 持续更新中&#xff0c;学习交流请加作者微信: python-baby 脚本和模块 脚本&#xff08;Scripts&#xff09; 在计算机术语中&#xff0c;脚本是指一个包含逻辑顺序的文本文件&#xff0c;我们可以运行脚本来完成特定任务。这些逻辑顺序通常用脚本语言…

如何在Java中使用protobuf

写在前面 本文看下在Java中如何使用protofbuf。 1&#xff1a;介绍 1.1&#xff1a;什么是protobuf 是一种数据格式&#xff0c;同json&#xff0c;xml&#xff0c;等。但是一种二进制数据格式。 1.2&#xff1a;强在哪里&#xff1f;为啥要用&#xff1f; 小&#xff0c…

org.apache.commons.lang.math.NumberUtils#isNumber 解释

源码 /*** <p>Checks whether the String a valid Java number.</p>** <p>Valid numbers include hexadecimal marked with the <code>0x</code>* qualifier, scientific notation and numbers marked with a type* qualifier (e.g. 123L).</…

JS中this的指向问题、JS的执行机制、offset、client、scroll

JS中this的指向问题 1. 在全局环境下 在全局环境中&#xff08;在浏览器中是 window 对象&#xff0c;在Node.js中是 global 对象&#xff09;&#xff0c;this 指向全局对象。 console.log(this window); // 在浏览器中为 true console.log(this.document ! undefined); //…

如何练高音技巧

如何练高音技巧 高音的练习技巧有&#xff1a;练“a”(啊)音&#xff0c;让口腔打开&#xff0c;声带放松&#xff0c;反复几次&#xff1b;再练“u”(呜)音&#xff0c;这个音可以有按摩声带的功能&#xff0c;也使声带进一步放松&#xff1b;发“i”(衣)音&#xff0c;逐步加…

缓存失效问题-雪崩/击穿/穿透

1. 缓存雪崩 1.1. 定义 大量缓存同一时间失效&#xff0c;大量访问数据库。 1.2. 发生条件 大量key相同过期时间缓存服务器重启 1.3. 解决方案 设置随机的缓存过期时间缓存预热高可用缓存集群降级限流 2. 缓存击穿 2.1. 定义 一个热点数据在缓存里失效&#xff0c;很多…

k8s 四种Service类型(ClusterIP、NodePort、LoadBalancer、ExternalName)详解

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、k8s概述 2、Service在Kubernetes中的…

大模型本地化部署2-Docker部署MaxKB

大模型本地化部署2-Docker部署MaxKB 0、MaxKB简介1、安装docker2、在docker中拉取MaxKB镜像3、运行镜像4、访问MaxKB5、创建应用6、使用应用进行对话 0、MaxKB简介 MaxKB是一款基于LLM大预言模型的知识库问答系统。具有以下特点&#xff1a; 多模型支持&#xff1a;支持对接主…

开放式耳机怎么戴?佩戴舒适在线的几款开放式耳机分享

开放式耳机的佩戴方式与传统的入耳式耳机有所不同&#xff0c;它采用了一种挂耳式的设计&#xff0c;提供了一种新颖的佩戴体验&#xff0c;以下是开放式耳机的佩戴方式。 1. 开箱及外观&#xff1a;首先&#xff0c;从包装盒中取出耳机及其配件&#xff0c;包括耳机本体、充电…

什么是密码学?

什么是密码学&#xff1f; 密码学是一种通过使用编码算法、哈希和签名来保护信息的实践。此信息可以处于静态&#xff08;例如硬盘驱动器上的文件&#xff09;、传输中&#xff08;例如两方或多方之间交换的电子通信&#xff09;或使用中&#xff08;在对数据进行计算时&#…

软件造价之如何确定定开和成品软件的边界?

在软件项目中&#xff0c;我们常常面临选择&#xff1a;是直接购买并使用成品软件&#xff0c;还是根据特定需求定制开发&#xff1f;这一决策不仅关乎项目成本也关乎到我们成本测算方法的选择。因此&#xff0c;明确定开与成品软件的边界&#xff0c;是软件造价的首要任务。 …

设计模式-结构性模式-桥接模式

1.桥接模式定义 桥接模式就是将抽象部分与他的实现部分分离&#xff0c;使他们都可以独立的变化&#xff1b; 桥接模式用一种巧妙地方式处理多层继承存在的问题&#xff0c;用抽象关联来取代传统的多层继承&#xff0c;将类之间的静态继承关系转变为动态的组合关系&#xff0c;…

vs属性表生效顺序

vs属性表生效顺序 在VS中打开一个项目&#xff0c;在属性管理器中可以看到很多属性表&#xff0c;如下&#xff1a; Application Unicode Support Core windows Libraries相信很多人会有和我一样的疑惑&#xff0c;这么多属性表&#xff0c;最终的属性以哪个表为准呢&#xf…

Leetcode JAVA刷刷站(99)恢复二叉搜索树

一、题目概述 二、思路方向 要解决这个问题&#xff0c;我们可以采用中序遍历二叉搜索树&#xff08;BST&#xff09;的方法&#xff0c;因为中序遍历BST会返回一个有序的数组。由于只有两个节点被错误地交换了&#xff0c;所以中序遍历的结果中将有两个位置上的元素是逆序的。…

什么是数据库 DevOps?

原文地址 https://www.bytebase.com/blog/what-is-database-devops/ 在深入研究数据库 DevOps 之前&#xff0c;先回顾一下什么是 DevOps。它没有统一的定义&#xff0c;但我们知道它起源于软件开发方法与部署和运维的结合。 大约 2007 年和 2008 年&#xff0c;软件开发和 I…

.NET8 Web 利用BAT命令 一键部署 IIS - CI-CD基础

1. Windows Server 前置准备 1.1 IIS安装好 1.2 .NET8 Sdk 运行时 安装 官方下载地址&#xff1a;https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0 1.3 创建一个.NET8 WebMvc项目 生成发布包 微软MVC这个项目模板直接创建&#xff0c;发布 2. 利用 BAT 来一键部署…