下面我来详细讲解使用NodeJS实现阿里大鱼短信通知发送的完整攻略:
安装依赖
首先,需要在本地安装aliyun-sdk
依赖包。可以通过npm进行安装,命令如下:
npm install aliyun-sdk --save
获取短信模板ID
在阿里云控制台中创建短信签名和短信模板,并获取其对应的短信模板ID。这里以验证码短信为例,模板内容为:
您的验证码为:${code},有效期为5分钟,请尽快完成验证。
获取AccessKey和AccessSecret
通过阿里云控制台获取AccessKey和AccessSecret,用于在发送短信时进行身份验证。
编写代码
下面是一个简单的NodeJS脚本示例,用于向指定手机号码发送验证码短信:
const Core = require('@alicloud/pop-core');
// 阿里云AccessKey和AccessSecret
const accessKeyId = 'yourAccessKeyId';
const secretAccessKey = 'yourSecretAccessKey';
// 阿里云短信模板ID
const templateCode = 'yourTemplateCode';
// 发送短信的手机号码
const phoneNumber = 'yourPhoneNumber';
// 生成6位随机验证码
const code = Math.floor(Math.random() * 1000000).toString().padStart(6, '0');
// 配置AliyunClient
const client = new Core({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
endpoint: 'https://dysmsapi.aliyuncs.com',
apiVersion: '2017-05-25'
});
// 配置短信发送参数
const params = {
RegionId: 'cn-hangzhou',
PhoneNumbers: phoneNumber,
SignName: 'YourSignName',
TemplateCode: templateCode,
TemplateParam: JSON.stringify({ code: code })
};
// 发送短信
client.request('SendSms', params).then((result) => {
console.log(result);
}).catch((err) => {
console.error(err);
});
代码解释:
- 首先,引入
@alicloud/pop-core
包,并设置阿里云AccessKey和AccessSecret,短信模板ID,以及接收短信的手机号码。 - 然后,使用
Math.random()
生成6位随机验证码。 - 设置
AliyunClient
并配置发送短信需要的参数。 - 最后,使用
client.request
发送短信,并根据结果进行相应的处理。
示例说明
下面给出两条示例说明,分别为:
- 发送固定内容的短信通知。
- 发送包含变量的短信通知。
发送固定内容的短信通知
下面的代码示例是用于发送固定内容的短信通知。其中,params.TemplateParam
参数为空,表示不包含任何变量。
const Core = require('@alicloud/pop-core');
// 阿里云AccessKey和AccessSecret
const accessKeyId = 'yourAccessKeyId';
const secretAccessKey = 'yourSecretAccessKey';
// 阿里云短信模板ID
const templateCode = 'yourTemplateCode';
// 发送短信的手机号码
const phoneNumber = 'yourPhoneNumber';
// 配置AliyunClient
const client = new Core({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
endpoint: 'https://dysmsapi.aliyuncs.com',
apiVersion: '2017-05-25'
});
// 配置短信发送参数
const params = {
RegionId: 'cn-hangzhou',
PhoneNumbers: phoneNumber,
SignName: 'YourSignName',
TemplateCode: templateCode
};
// 发送短信
client.request('SendSms', params).then((result) => {
console.log(result);
}).catch((err) => {
console.error(err);
});
发送包含变量的短信通知
下面的代码示例是用于发送包含变量的短信通知。其中,设置params.TemplateParam
参数来包含变量code
。
const Core = require('@alicloud/pop-core');
// 阿里云AccessKey和AccessSecret
const accessKeyId = 'yourAccessKeyId';
const secretAccessKey = 'yourSecretAccessKey';
// 阿里云短信模板ID
const templateCode = 'yourTemplateCode';
// 发送短信的手机号码
const phoneNumber = 'yourPhoneNumber';
// 生成6位随机验证码
const code = Math.floor(Math.random() * 1000000).toString().padStart(6, '0');
// 配置AliyunClient
const client = new Core({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
endpoint: 'https://dysmsapi.aliyuncs.com',
apiVersion: '2017-05-25'
});
// 配置短信发送参数
const params = {
RegionId: 'cn-hangzhou',
PhoneNumbers: phoneNumber,
SignName: 'YourSignName',
TemplateCode: templateCode,
TemplateParam: JSON.stringify({ code: code })
};
// 发送短信
client.request('SendSms', params).then((result) => {
console.log(result);
}).catch((err) => {
console.error(err);
});
通过这两条示例,可以发现发送短信通知非常简单。我们只需要配置好参数和模板,然后调用client.request
方法发送即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:NodeJS实现阿里大鱼短信通知发送 - Python技术站