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”的短信。
二、使用现有的短信服务发送短信
微商城订单管理系统是一款基于php+mysql开发的php订单管理系统,她的特点如下: 产品特色: 支持商品规格、订单短信提醒,订单提交限制,站外调用, 批量发货/导出,数据报表,物流轨迹、免签支付等。 1、高度开源:除核心授权文件外全部开源,二开方便。 2、分布式部署:支持分布式部署、支持数据库读写分离。 3、第三方存储:支持附件腾讯云、阿里云、七牛云存储
22
如果您不想使用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以及使用腾讯云和阿里云等现有的短信服务。发送短信是我们开发中常用的功能之一,在实际应用中需要根据具体情况进行选择。
以上就是nodejs 如何发短信的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号