0

0

nodejs 如何发短信

王林

王林

发布时间:2023-05-08 16:08:38

|

1131人浏览过

|

来源于php中文网

原创

node.js是一种使用javascript语言编写的开源服务器运行环境,它具有高效、快速、轻量级和可扩展等特点。在实际应用中,node.js可以帮助开发人员轻松地实现各种功能,包括发送短信。

在本文中,我们将详细介绍Node.js如何发送短信以及如何使用现有的短信服务来实现这一功能。

一、使用Node.js发送短信

1.安装依赖

首先,我们需要安装Node.js的官方模块之一--"twilio",可以通过npm来进行安装,执行以下命令:

npm install twilio

2.验证身份

在使用Twilio API发送短信之前,需要验证身份,获取Account SID和Auth Token,这两个参数可以在Twilio的控制台中找到。

3.编写发送短信的代码

我们使用Twilio API发送短信,在Node.js中的代码如下:

const accountSid = 'YOUR_ACCOUNT_SID';
const authToken = 'YOUR_AUTH_TOKEN';
const client = require('twilio')(accountSid, authToken);

client.messages
  .create({
     body: 'Hello from Node',
     from: '+1XXXXXXXXX', //在Twilio中您需要购买一个号码,
     to: '+1XXXXXXXXX'    //作为from参数输入,to是您的接收短信的电话号码。
   })
  .then(message => console.log(message.sid));

执行上述代码后,在您的手机上将发送“Hello from Node”的短信。

二、使用现有的短信服务发送短信

Tome
Tome

先进的AI智能PPT制作工具

下载

如果您不想使用Twilio API,而是想使用一些已存在的短信服务来发送短信,那么下面是一些常见的短信服务供您选择:

1.腾讯云 短信服务

腾讯云短信API可通过HTTP/HTTPS协议调用,支持GET或POST请求,参数使用标准HTTP协议格式(如key1=value1&key2=value2),其中签名算法请参考腾讯云短信API文档。

示例代码如下:

const request = require('request');
const querystring = require('querystring');

const appid = 'YOUR_APPID';
const appkey = 'YOUR_APPKEY';
const nationCode = '86' //中国区电话号码前缀
const phoneNumber = 'XXXXXXXXX' //接受短信的手机号码
const templateId = 'XXXXXX' //短信模板ID
const random = Math.floor(Math.random()*99999+1) //随机数
const curTime = Math.floor(new Date().getTime()/1000); //当前时间戳
const sig = querystring.escape(Buffer.from(`appkey=${appkey}&random=${random}&time=${curTime}&mobile=${nationCode}${phoneNumber}`, 'utf8').toString('base64'));

const options = {
    url: 'https://yun.tim.qq.com/v5/tlssmssvr/sendsms',
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    json: true,
    body: {
        tel: {
            nationCode,
            mobile: phoneNumber
        },
        tpl_id: templateId,
        params: [
            random.toString(),
            '5'
        ],
    },
    qs: {
        sdkappid: appid,
        random,
        time: curTime,
        sig,
        extend: '',
        ext: ''
    },
};

request(options, (error, response, body) => {
    if(error) {
        console.log(error);
    } else {
        console.log(body);
    }
});

2.阿里云 短信服务

阿里云短信服务也可以通过HTTP/HTTPS协议调用,并且提供了Java、PHP、Python和Node.js等多种编程语言的SDK。

示例代码如下:

const Core = require('@alicloud/pop-core');

const client = new Core({
  accessKeyId: '<YourAccessKeyId>',
  accessKeySecret: '<YourAccessKeySecret>',
  endpoint: 'https://dysmsapi.aliyuncs.com',
  apiVersion: '2017-05-25'
});

const params = {
  "RegionId": "cn-hangzhou",
  "PhoneNumbers": "1500000000",
  "SignName": "阿里云短信测试专用",
  "TemplateCode": "SMS_71390007",
  "TemplateParam": "{\"code\":\"12345\"}"
}

const requestOption = {
  method: 'POST'
};

client.request('SendSms', params, requestOption).then((result) => {
    console.log(result);
}, (ex) => {
    console.log(ex);
})

三、总结

通过本文的介绍,我们可以了解到Node.js如何发送短信,包括使用Twilio API以及使用腾讯云和阿里云等现有的短信服务。发送短信是我们开发中常用的功能之一,在实际应用中需要根据具体情况进行选择。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

362

2023.09.19

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

118

2025.11.26

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

421

2026.02.10

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6609

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

842

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1092

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

2187

2024.03.01

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

531

2023.06.20

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号