溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能

發(fā)布時間:2021-09-16 15:35:28 來源:億速云 閱讀:117 作者:柒染 欄目:開發(fā)技術

這期內(nèi)容當中小編將會給大家?guī)碛嘘P什么是ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

        互聯(lián)網(wǎng)上有許多公司提供短信接口服務,諸如網(wǎng)易云信、阿里大于等等。我在自己項目里需要使用到短信服務起到通知作用,實際開發(fā)周期三天,完成配置、開發(fā)和使用,總的說,阿里大于提供的接口易于開發(fā),非常的方便,短信費用是計數(shù)繳納的,作為個人開發(fā)者,我使用的服務業(yè)務產(chǎn)生的費用為0.045¥/條(10萬條以下)。

  現(xiàn)在要實現(xiàn)一個例會短信群發(fā)通知的功能,所有被通知對象信息均存于Mysql中,應用架構采用asp.net MVC 。首先準備好獲取的API各項(以下各項服務參數(shù)都需要在大于官網(wǎng)上申請),

什么是ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能

申請好自己的短信簽名與短信模板,根據(jù)服務商的要求需要這些參數(shù):

ITopClient client = new DefaultTopClient(url, appkey, secret);
AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
req.Extend = "" ;//可空,返回狀態(tài)
req.SmsType = "normal" ;//不可更改
req.SmsFreeSignName = "" ;//申請的短信簽名,不可填寫與申請的不一
req.SmsParam = "" ;//短信模板中的變量如:{name}
req.RecNum = "13000000000" ;//手機號碼
req.SmsTemplateCode = "" ;//短信模板的編號,不可出錯
AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
Console.WriteLine(rsp.Body);

具體開發(fā)中,需要注意到的是這一段代碼是官方提供的樣品,在寫短信發(fā)送函方法時,將它粘貼再進行開發(fā)即可。其中模板變量的配對尤其關鍵:

req.SmsParam = "" ;//短信模板中的變量如:{name}

在這種情況下,對字符串拼接要有基本功,由于是類json化的,所以

req.SmsParam ="{number:'" + Password + "'}";//去掉雙引號則是{number:‘Password'} 

說完細節(jié)之后,開始在本機上的項目里引用編譯好的dll,該dll文件可在阿里大于官網(wǎng)https://www.alidayu.com/center/application/sdk下載zip壓縮包,解壓即可得到生成好的dll.之后寫一個可以發(fā)送短信的void方法, 

public void SmsSendForFindPassword(string phonenum,string Password)
 {
 string url = "https://eco.taobao.com/router/rest";
 string appkey = "********";
 string secret = "**********************"; 
 ITopClient client = new DefaultTopClient(url, appkey, secret);
 AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
 req.Extend = "";
 req.SmsType = "normal";//默認normal不可改動
 req.SmsFreeSignName = "院紅會網(wǎng)宣";//短信簽名必填
 req.SmsParam = "{number:'" + Password + "'}";//模板內(nèi)參數(shù)必填
 req.RecNum = phonenum;//手機號碼必填
 req.SmsTemplateCode = "SMS_******";//不可改動
 AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);
 }

這個方法是我為管理員找回密碼開發(fā)的,其中需要注意一下,傳入?yún)?shù)phonenum,Password,在傳入前從數(shù)據(jù)庫中調(diào)出,不得為空。

ITopClient client = new DefaultTopClient(url, appkey, secret);

這其中的url在官方中給出了兩個,我傾向于https,這樣數(shù)據(jù)傳輸更安全。具體選擇請參考阿里大于官網(wǎng)文檔。

AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);

//這個對象實例化后,才是api發(fā)送方法調(diào)用的最后一步,在這之前,每一項都要正確,出錯可以使用Console.WriteLine(rsp.Body);

//顯示出錯誤信息

  對于如何實現(xiàn)的群發(fā)功能,寫一個SendSmsForMeetingTime(string name, string time, string phonenum, string department, string minister)方法函數(shù),我使用了List<Model>,將數(shù)據(jù)庫中的多條數(shù)據(jù)讀入List中,使用foreach(var item in list),在每一次遍歷中調(diào)用一次SendSmsForMeetingTime;當遍歷完成之時,每一個通知對象的信息傳入方法參數(shù)中,方法執(zhí)行完后之后,便實現(xiàn)了調(diào)用。

  在這里說明一下接口調(diào)用,短信經(jīng)過的流程。用戶客戶端/用戶服務器——>阿里大于服務器——>移動/電信/聯(lián)通運營商服務器——>對象可接受短信服務終端。實際上,阿里大于也是調(diào)用的運營商的接口,只是阿里大于將接口封裝到便宜開發(fā),而我們開發(fā)者在這基礎上能完成第三方接口開發(fā),這些開發(fā)也僅限制于服務商封裝了哪些接口,開發(fā)者無法調(diào)用服務商未封裝的接口。


上述就是小編為大家分享的什么是ASP.NET MVC阿里大于短信接口開發(fā)短信群發(fā)能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI