node.js实现阿里云短信发送

devtools/2025/1/8 21:14:23/

效果图

实现

一、准备工作

1、官网直达网址:

阿里云 - 短信服务

2、按照首页提示依次完成相应资质认证短信模板审核;

3、获取你的accessKeySecretaccessKeyId

方法如下:

获取AccessKey-阿里云帮助中心

4、获取SignName(签名名称)和 TemplateCode(模板code)

二、代码实现

1、项目结构

【/config/index.js】=》参数配置文件

【/server/index.js】=》主执行文件

【node server】=》启动命令

2、引入依赖

在项目根目录,打开控制台,输入如下命令:

npm install @alicloud/sms-sdk --save

3、 修改配置文件【/config/index.js】

储存前面获取的参数:

const config = {// AccessKey IDaccessKeyId: "XXXXXXXXXXXXXXXXXXXXXXXXXX",// AccessKey SecretsecretAccessKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",// 签名名称signName: "XXXX",// 模板CODE => 登录/注册 - 验证码templateCode_login: "SMS_4XXXXXXXX",}module.exports = config

4、修改主启动文件【/server/index.js】 

实现发送短信

// 引入依赖
const SMSClient = require('@alicloud/sms-sdk')
// 参数配置文件
const config = require('../config/index.js')/*** 发送短信验证码* @param phone 接收用户的手机号*/
function sendSmsMessage (phone) {// 参数配置 sms_clientlet accessKeyId = config.accessKeyId // AccessKey IDlet secretAccessKey = config.secretAccessKey // AccessKey Secretlet signName = config.signName // 签名名称let templateCode = config.templateCode_login // 短信模板code// 发送对象及验证码let verify = Math.random().toString().slice(-6) // 随机6位验证码let phoneNum = phone // 手机号// 初始化 sms_clientconst smsClient = new SMSClient({accessKeyId, secretAccessKey})// 发送短信smsClient.sendSMS({PhoneNumbers: phoneNum, // 发送对象手机号SignName: signName, // 签名名称TemplateCode: templateCode, // 模版CODETemplateParam: `{"code":'${verify}'}`, // 短信模板变量对应的实际值,JSON格式}).then(res => {console.log("发送短信sendSmsMessage执行完成:")console.log(res)// 判断是否发送成功if(res.Code === 'OK') {console.log('短信发送成功!')} else {console.log('短信发送失败!')console.log(res.Message)}}).catch(err => {console.log("发送短信sendSmsMessage异常错误:")console.log(err)})
}sendSmsMessage('13512341234')

5、控制台打印结果


http://www.ppmy.cn/devtools/108527.html

相关文章

[深度学习][LLM]:浮点数怎么表示,什么是混合精度训练?

混合精度训练 混合精度训练1. 浮点表示法:[IEEE](https://zh.wikipedia.org/wiki/电气电子工程师协会)二进制浮点数算术标准(IEEE 754)1.1 浮点数剖析1.2 举例说明例子 1:例子 2: 1.3 浮点数比较1.4 浮点数的舍入 2. 混合精度训练2.1 为什么需…

《响应式 Web 设计:纯 HTML 和 CSS 的实现技巧》

一、引言 在当今数字化时代,人们使用各种不同的设备访问网页,包括台式电脑、笔记本电脑、平板电脑和智能手机等。为了确保网页在不同设备上都能提供良好的用户体验,响应式 Web 设计变得至关重要。响应式 Web 设计是一种能够根据设备屏幕大小和…

Banana Pi BPI-F3 进迭时空RISC-V架构下,AI融合算力及其软件栈实践

RISC-V架构下,AI融合算力及其软件栈实践 面对未来大模型(LLM)、AIGC等智能化浪潮的挑战,进迭时空在RISC-V方向全面布局,通过精心设计的RISC-V DSA架构以及软硬一体的优化策略,将全力为未来打造高效且易用的…

网页开发 HTML

HTML 常用标签及其示例 标签用途例子<html>定义整个HTML文档的根元素。<html>…</html><head>包含文档的元数据&#xff0c;如标题、脚本和样式表。<head>…</head><title>定义文档的标题&#xff0c;显示在浏览器标签页上。<ti…

spring boot3框架@Validated失效

项目中使用的springboot3.2.1,在使用Validated校验controller里参数时始终不生效&#xff1b;在网上查了相关资料&#xff0c;添加了spring-boot-starter-validation依赖但还是不行 经过层层调试&#xff0c;终于发现问题&#xff1b; springboot3添加Validated后校验的是 ja…

Java中等题-摆动序列(力扣)

如果连续数字之间的差严格地在正数和负数之间交替&#xff0c;则数字序列称为 摆动序列 。第一个差&#xff08;如果存在的话&#xff09;可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如&#xff0c; [1, 7, 4, 9, 2, 5] 是一个 摆动序列 &…

GIT:git add命令指定文件夹

git add命令可以指定文件夹来添加文件到git仓库中。 1、使用相对路径 当你在命令行中使用git add命令时&#xff0c;可以通过相对路径指定文件夹。例如&#xff0c;如果你的文件夹名为myfolder&#xff0c;可以使用以下命令将整个文件夹添加到git仓库中&#xff1a; git add m…

ceph-iscsi 手动安装过程中的一些问题记录以及解决办法

ceph-iscsi 手动安装教程 安装教程&#xff0c;建议直接看官方文档&#xff0c;猛戳传送门。官方教程是英文版的&#xff08;不知道有没有中文版&#xff09;&#xff0c;都是一些基础英语&#xff0c;问题不大&#xff0c;实在不行找个翻译软件帮帮忙&#xff0c;哈哈哈。 多…