看到一老兄用php和阿里云短信服务做了一个每天给女朋友发短信的案例,挺有意思,自己也用nodejs做了一版。
步骤1
现在阿里云通信中的短信签名中申请签名,签名在你短信中是以:
【短信签名】你短信模板内容方式为主的。步骤2
申请短信模板,短信模板的变量是以这种形式存在的:${name},可以写多个:
示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的手里,请留意查收。步骤3
申请accesskeys,在你控制台上面有个accesskeys,点击申请就能显示你的id及Secret。
步骤4
在demo文件夹中的index.js中填写你的accessKeyId和secretAccessKey,就是你在步骤3申请的id和secret。
步骤5
在sendSMS中填写
1、PhoneNumbers // 发送短信的账号,可以多写,用逗号分隔2、SignName // 你步骤一申请的签名3、TemplateCode // 你步骤2申请的模板code码4、TemplateParam // 你步骤2中短信模板的变量名称要表达的含义步骤6
定时执行任务node-schedule
function scheduleCronstyle(){ //秒 、 分 、时 、 日 、 月 、 年 schedule.scheduleJob('30 0 7 * * *', function(){ console.log('scheduleCronstyle:' + new Date()); }); } scheduleCronstyle();
6个*分别代表了秒 、 分 、时 、 日 、 月 、 年 ,如上每天7点0分30秒的时候
步骤7
服务器上面pm2守护对应的nodejs进程即可。
全部代码
const SMSClient = require('./../index')const schedule = require('node-schedule');// ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换const accessKeyId = '你自己的id'const secretAccessKey = '你自己的secret'//初始化sms_clientlet smsClient = new SMSClient({ accessKeyId, secretAccessKey })// //短信回执报告smsClient.receiveMsg(0, queueName).then(function (res) { //消息体需要base64解码 let { code, body } = res if (code === 200) { //处理消息体,messagebody console.log(body) }}, function (err) { console.log(err)})//短信上行报告smsClient.receiveMsg(1, queueName).then(function (res) { //消息体需要base64解码 let { code, body } = res if (code === 200) { //处理消息体,messagebody console.log(body) }}, function (err) { console.log(err)})//查询短信发送详情smsClient.queryDetail({ PhoneNumber: '1500000000', SendDate: '20170731', PageSize: '10', CurrentPage: "1"}).then(function (res) { let { Code, SmsSendDetailDTOs } = res if (Code === 'OK') { //处理发送详情内容 console.log(SmsSendDetailDTOs) }}, function (err) { //处理错误 console.log(err)})const now = new Date(), jhr = new Date(2017, 4, 1), calculation = Math.abs(parseInt((jhr - now) / 86400000));function scheduleCronstyle() { //秒 、 分 、时 、 日 、 月 、 年 schedule.scheduleJob('30 0 7 * * *', function () { // 发送短信 smsClient.sendSMS({ PhoneNumbers: '1888888888', SignName: '李经纶', TemplateCode: 'SMS_88960019', TemplateParam: '{"name":"刘颖","date":' + calculation + '}' }).then(function (res) { let { Code } = res if (Code === 'OK') { //处理返回参数 console.log(res) } }, function (err) { console.log(err) }) });}scheduleCronstyle();
全部代码在这里:
ps:
阿里云短信这个一进来会送10元的代金券,可以用很久了。祝各位能哄得女朋友开心