NET 阿里大于短信推送

最近再做一个商城,需要短信推送,研究了下阿里大于的短信推送。

注册,登陆啥的 就不说了 。注册好像分商家和个人。(这里吐槽下。商家真是幸福,短信模板都建好了,个人的居然毛也没有!)

注册成功以后需要建一个应用(需要审核 ),然后建短信模板(需要审核),然后就可以愉快的测试了 。

下载一个SDK文件, 然后添加到自己的工程里面。(这些都是废话)

因为官方给的例子 里面 只有测试的样本 ,所以这里自己封装了下,参数读取配置文件

 /// <summary>
        /// 发送短信
        /// </summary>
        /// <param name="destination">电话号码</param>
        /// <param name="text">阿里的签名,短信参数-参数值-参数-参数值,模板编码</param> 
        /// <returns></returns>
        private string SendMessage(string destination, string text, string speed = "0")
        {
            if (!string.IsNullOrWhiteSpace(destination))
            {
                MessageSMSConfig config = SMSCore.GetConfig(); 
                string[] textArr = text.Split(new char[] { ',' });
                string strQM = textArr[0];//签名
                string strCSARR = textArr[1];//参数信息
                string strMB = textArr[2];//模板代码
                //参数信息格式化:{参数:'参数值',参数:'参数值'......}
                string[] strcs = strCSARR.Split(new char[] { '-' });
                string scs = "{";
                for (int i = 0; i < strcs.Length; i++)
                {
                    if (i % 2 == 0)
                    {
                        scs = scs + strcs[i] + ":";
                    }
                    else
                    {
                        scs = scs + "'" + strcs[i] + "',";
                    }
                }
                scs = scs.Substring(0, scs.Length - 1)+"}";
                ITopClient client = new DefaultTopClient(AlidayuUrl, config.AppKey, config.AppSecret);
                AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
                req.Extend = "";//好像没用,暂时舍弃
                req.SmsType = "normal";
                req.SmsFreeSignName = strQM;
                req.SmsParam = scs; 
                req.RecNum = destination;
                req.SmsTemplateCode = strMB;
                Log.Info(client == null);
                try
                {
                    AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);

                    //Console.WriteLine(rsp.Body);
                    if (rsp.Result.Success)
                    { 
                        return "发送成功";
                    }
                    else {
                        return rsp.Result.Msg;
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex, ex);
                    return ex.Message;
                }
                
                /**/
            }
            return "发送目标不能为空!";
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值