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