若是你購買了阿里雲的短信服務,能夠經過短信API實現驗證碼、推廣短信、通知短信的發送、羣發功能。後端
這裏以驗證碼爲例,介紹一下短信的發送功能。api
進入快速學習頁面(https://dysms.console.aliyun....async
直接點擊查看API Demo
你在左側輸入參數,選擇不一樣的後端語言,它會自動幫你生成Demo代碼,而且還能夠去CloudShell在線調試。單元測試
PhoneNumbers 接收短信的手機號碼
SignName 簽名名稱,在控制檯國內消息簽名管理一列添加、查看
TemplateCode 模板ID,在控制檯國內消息模板管理一列添加、查看
TemplateParam 模板變量對應的實際值,注意必定要是JSON格式。學習
簽名能夠設置你的網站名、公司名
模板能夠選擇驗證碼、短信通知、推廣短信(升級爲企業後啓用),設置你的短信內容,同時支持變量替換,如個人網站的驗證碼短信模板內容爲:測試
您的驗證碼爲:${code},該驗證碼5分鐘內有效,請勿泄漏於他人。
TemplateParam能夠設置code變量,發送你須要的內容網站
"TemplateParam": JSON.stringify({ "code": 2 }),
根據API Demo的整理,咱們寫出本身的短信客戶端代碼ui
const Core = require('@alicloud/pop-core'); const config = require('../config'); const requestOption = { method: 'POST', }; class SmsClient { constructor() { if (!SmsClient.instance) { this.client = new Core({ accessKeyId: config.sms.accessKeyId, accessKeySecret: config.sms.accessKeySecret, endpoint: config.sms.endpoint, apiVersion: config.sms.apiVersion, }); SmsClient.instance = this.client; } } sendSms(params) { this.client.request('SendSms', params, requestOption).then((result) => { console.log(JSON.stringify(result)); }, (ex) => { console.log(ex); }) } } module.exports = new SmsClient();
編寫單元測試this
const smsClient = require('../../common/sms-client.js'); describe('smsClient',async function() { it('sendSms', async function() { const params = { "PhoneNumbers": "手機號碼", "SignName": "簽名", "RegionId": "cn-hangzhou", "TemplateCode": "模板ID", "TemplateParam": JSON.stringify({ "code": 2 }), } smsClient.sendSms(params); }); });
執行後,手機上成功收到了短信。阿里雲