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

效果图

实现

一、准备工作

1、官网直达网址:

阿里云 - 短信服务

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

3、获取你的accessKeySecretaccessKeyId

方法如下:

获取AccessKey-阿里云帮助中心

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

二、代码实现

1、项目结构

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

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

【node server】=》启动命令

2、引入依赖

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

javascript 复制代码
npm install @alicloud/sms-sdk --save

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

储存前面获取的参数:

javascript 复制代码
const config = {

    // AccessKey ID
    accessKeyId: "XXXXXXXXXXXXXXXXXXXXXXXXXX",

    // AccessKey Secret
    secretAccessKey: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",

    // 签名名称
    signName: "XXXX",

    // 模板CODE => 登录/注册 - 验证码
    templateCode_login: "SMS_4XXXXXXXX",

}

module.exports = config

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

实现发送短信:

javascript 复制代码
// 引入依赖
const SMSClient = require('@alicloud/sms-sdk')
// 参数配置文件
const config = require('../config/index.js')

/**
 * 发送短信验证码
 * @param phone 接收用户的手机号
 */
function sendSmsMessage (phone) {

    // 参数配置 sms_client
    let accessKeyId = config.accessKeyId // AccessKey ID
    let secretAccessKey = config.secretAccessKey // AccessKey Secret
    let signName = config.signName // 签名名称
    let templateCode = config.templateCode_login // 短信模板code

    // 发送对象及验证码
    let verify = Math.random().toString().slice(-6) // 随机6位验证码
    let phoneNum = phone // 手机号

    // 初始化 sms_client
    const smsClient = new SMSClient({accessKeyId, secretAccessKey})

    // 发送短信
    smsClient.sendSMS({
        PhoneNumbers: phoneNum, // 发送对象手机号
        SignName: signName, // 签名名称
        TemplateCode: templateCode, // 模版CODE
        TemplateParam: `{"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、控制台打印结果

相关推荐
北极糊的狐12 小时前
4.1阿里云 OSS 的跨域访问 CORS 限制本地直接打开 HTML 无法正常播放 OSS 音频、视频
阿里云·云计算
TG_yunshuguoji15 小时前
阿里云代理商:阿里云数字短信全面开放!触达新方案
阿里云·云计算·云服务器
Wave84517 小时前
STM32+ESP8266 智能手表实战:天气获取与阿里云时钟同步
stm32·阿里云·智能手表
DisonTangor18 小时前
【阿里拥抱开源】千问开源Qwen3.6-35B-A3B,并配上调参参考
人工智能·阿里云·开源·aigc
青花瓷19 小时前
Windows下Node.js的安装
node.js
有谁看见我的剑了?20 小时前
Rocky Linux 更换 阿里云的镜像源
linux·运维·阿里云
小白考证进阶中20 小时前
阿里云ACA部分考试成绩分享(2月/3月/4月)
运维·阿里云·云计算·阿里云认证·阿里云aca认证·阿里云aca·阿里云aca大数据认证
暮雪倾风1 天前
【JS-Node】node.js环境安装及使用
开发语言·javascript·node.js
冴羽1 天前
请愿书:Node.js 核心代码不应该包含 AI 代码!
前端·javascript·node.js
太难了啊1 天前
从零构建你的 AI Agent 框架:Node.js 版 HelloAgents 实战指南
人工智能·node.js