萬(wàn)商超信
騰訊云服務(wù)短信(騰訊云短信平臺(tái)怎么用)
2021-11-29 20:02
在我們做運(yùn)維或者小工具的時(shí)候,總會(huì)有些需要提醒的事情,比如服務(wù)器宕機(jī)或者天氣提醒,但是發(fā)email又會(huì)不夠及時(shí)或者可能會(huì)忽略,那么短信就是一個(gè)不錯(cuò)的選擇了。[騰訊云服務(wù)短信(騰訊云短信平臺(tái)怎么用)]。
當(dāng)然,短信是收費(fèi)的,如果量比較大的話,肯定是需要收費(fèi)的,如果只是少量的話,那么各大云平臺(tái)還是有一些免費(fèi)額度的,我目前采用的是騰訊云的短信平臺(tái),每個(gè)月有100條免費(fèi)短信,對(duì)于我個(gè)人來(lái)說(shuō)已經(jīng)足夠使用了。
下面,我簡(jiǎn)單說(shuō)下如何使用這個(gè)免費(fèi)的100條短信,具體是通過nodejs實(shí)現(xiàn)短信提醒。
注冊(cè)
首先,登錄騰訊云,帳號(hào)肯定都有啦,直接QQ登錄即可。
控制臺(tái)-短信
然后,進(jìn)入控制臺(tái),找到"云產(chǎn)品--> 移動(dòng)通信--> 短信" ,進(jìn)入該產(chǎn)品頁(yè)面。 如下:
創(chuàng)建應(yīng)用
在短信控制臺(tái)中創(chuàng)建一個(gè)自己的應(yīng)用,然后進(jìn)入該應(yīng)用,找到“國(guó)內(nèi)短信”下的“短信內(nèi)容配置”,如下:
發(fā)現(xiàn),在短信內(nèi)容配置下有兩個(gè)tab 短信簽名和短信正文,如果我們要使用騰訊云的短信服務(wù),那么短信簽名和正文是必不可少的。
簽名+正文
在短信內(nèi)容配置頁(yè)面,進(jìn)行簽名和正文的創(chuàng)建,根據(jù)頁(yè)面提示即可,不過簽名和正文是需要審核的,一般來(lái)說(shuō)1天-2天左右就會(huì)審核通過。(注意:短信正文如果超過70個(gè)字會(huì)分為兩條短信發(fā)送的,請(qǐng)一定要注意短信內(nèi)容長(zhǎng)度,包含簽名。)
通過nodejs調(diào)用短信服務(wù)
當(dāng)我們的應(yīng)用、簽名、正文都創(chuàng)建完成后,可以根據(jù)騰訊云提供的SDK進(jìn)行短信服務(wù)的開發(fā)了。SDK支持多種語(yǔ)言,包括java php python c# node.js ,下面我們簡(jiǎn)單說(shuō)下關(guān)于node.js的使用,當(dāng)然直接閱讀文檔也是可以的,而且我下面的使用也很簡(jiǎn)單,只是針對(duì)普通國(guó)內(nèi)短信的使用,其他的包括語(yǔ)音、回執(zhí)等都沒有涉及到。
附上SDK的地址
:https://cloud.tencent.com/document/product/382/3772
附上我的短信服務(wù)工具的目錄:
其中,congfig.json存放自己的APPID、密鑰、簽名等信息。index.js為應(yīng)用服務(wù)器,sms.js為短信發(fā)送工具類。
config.json
{
"appid":"自己的APPID",
"appkey":"自己的APPKEY",
"smssign":"短信簽名"
}
以上幾個(gè)信息都可以在短信應(yīng)用中找到,如下:
index.js
//自己使用的短信服務(wù),提供給各個(gè)應(yīng)用來(lái)調(diào)用。要求:外網(wǎng)無(wú)法訪問,不然就死了。
//提供web服務(wù),同時(shí)提供接口,可通過調(diào)用發(fā)送,只支持自己的哦。
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json());
var sms = require('./sms');
app.post('/sms',function(req,res,next){
//1.提供模版ID
var phone = req.body.phone,templateId = req.body.templateId,params = req.body.params.split('_');
sms(phone,templateId,params).then(function(){
res.json({success : true,msg : '成功'})
}).catch(function(err){
res.json({success : false,msg : '失敗'})
})
})
app.listen(2500,function(){
console.log('短信服務(wù)啟動(dòng),端口:2500')
})
一個(gè)簡(jiǎn)單的web服務(wù),提供給其他的項(xiàng)目或者工具進(jìn)行調(diào)用,當(dāng)然,肯定是只能內(nèi)網(wǎng)訪問的,不然的話,別人找到就給用光了,哈哈。
sms.js
//數(shù)據(jù)讀取json
var config = require('./config');
//短信發(fā)送工具類
module.exports = function (phoneNumber,templateId,params){
var QcloudSms = require("qcloudsms_js");
// 實(shí)例化QcloudSms
var qcloudsms = QcloudSms(config.appid, config.appkey);
var smsType = 0;
var ssender = qcloudsms.SmsSingleSender();
return new Promise(function(resolve,reject){
console.log('短信接受號(hào)碼:'+phoneNumber);
console.log('模版ID:'+templateId);
console.log('模版變量:'+params);
ssender.sendWithParam(86, phoneNumber.split(','), templateId,params, config.smssign, "", "", function(err,res,resData){
if (err) {
reject();//發(fā)送失敗
} else {
//所有短信全部認(rèn)定發(fā)送成功
console.log(resData);
resolve(true);
}
});
});
}
里面的module qcloudsms_js是騰訊云提供的短信模塊,直接調(diào)用即可。我這里只是簡(jiǎn)單實(shí)現(xiàn)了發(fā)送單個(gè)號(hào)碼的短信,多個(gè)的可以按照API文檔上繼續(xù)實(shí)現(xiàn),我這算是拋磚引玉了。
結(jié)束
以上,就是我通過nodejs調(diào)用騰訊云sms短信服務(wù)器的過程,個(gè)人只是用來(lái)提醒天氣內(nèi)容了,不然申請(qǐng)了每個(gè)月100條放著也是放著,不用就白瞎啦。