看到一老兄用php和阿里雲短信服務作了一個天天給女友發短信的案例,挺有意思,本身也用nodejs作了一版。
https://segmentfault.com/a/11...javascript
如今阿里雲通訊中的短信簽名中申請簽名,簽名在你短信中是以:
【短信簽名】你短信模板內容
方式爲主的。php
申請短信模板,短信模板的變量是以這種形式存在的:${name},能夠寫多個:
示例:尊敬的${name},您的快遞已在飛奔的路上,將在今天${time}送達您的手裏,請留意查收。java
申請accesskeys,在你控制檯上面有個accesskeys,點擊申請就能顯示你的id及Secret。node
在demo文件夾中的index.js中填寫你的accessKeyId和secretAccessKey,就是你在步驟3申請的id和secret。git
在sendSMS中填寫
一、PhoneNumbers // 發送短信的帳號,能夠多寫,用逗號分隔
二、SignName // 你步驟一申請的簽名
三、TemplateCode // 你步驟2申請的模板code碼
四、TemplateParam // 你步驟2中短信模板的變量名稱要表達的含義github
定時執行任務node-schedulesegmentfault
function scheduleCronstyle(){ //秒 、 分 、時 、 日 、 月 、 年 schedule.scheduleJob('30 0 7 * * *', function(){ console.log('scheduleCronstyle:' + new Date()); }); } scheduleCronstyle();
6個*分別表明了秒 、 分 、時 、 日 、 月 、 年 ,如上天天7點0分30秒的時候服務器
服務器上面pm2守護對應的nodejs進程便可。ui
const SMSClient = require('./../index') const schedule = require('node-schedule'); // ACCESS_KEY_ID/ACCESS_KEY_SECRET 根據實際申請的帳號信息進行替換 const accessKeyId = '你本身的id' const secretAccessKey = '你本身的secret' //初始化sms_client let 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();
所有代碼在這裏:https://github.com/chinalijin...阿里雲
ps:阿里雲短信這個一進來會送10元的代金券,能夠用好久了。祝各位能哄得女友開心