NET接入阿里云短信服务

Net Core+阿里云实现短信验证码

开通阿里云短信服务

首先要开通阿里云短信服务,这个不多赘述,看图

开通之后,来到管理控制台

点击国内消息——>签名管理——>添加签名

同样的步骤,模板管理——>添加模板,申请通过的时间很快,不用急

验证通过后,我们通过在线调试试一下能不能发送成功,前提是先保证你账号的余额充足,不然会抛异常

可以看到我这边已经接收过来了,那现在我们尝试用代码发送一个验证码,先简单使用控制台程序做一个案例,后续有时间再完善

创建控制台应用程序

先安装阿里云sdk包

因为要对数据进行json序列化,所以我这里还添加了一个Newtonsoft.Json

Main函数:

static void Main(string[] args)
        {
    		// accesskeyId、secret对应你的阿里云产品id
            IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<secret>");
            DefaultAcsClient client = new DefaultAcsClient(profile);
            CommonRequest request = new CommonRequest();
            request.Method = MethodType.POST;
            request.Domain = "dysmsapi.aliyuncs.com";
            request.Version = "2017-05-25";
            request.Action = "SendSms";
            // request.Protocol = ProtocolType.HTTP

            // 随机生成6位验证码
            var rd = new Random();
            var code = new
            {
                code=rd.Next(100000,999999)
            };

            request.AddQueryParameters("PhoneNumbers", "18173608896");
            request.AddQueryParameters("SignName", "jonty博客");
            request.AddQueryParameters("TemplateCode", "SMS_197465032");

            // 验证码参数,code 转json格式
            request.AddBodyParameters("TemplateParam",code.ToJson());
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                Console.WriteLine(System.Text.Encoding.Default.GetString(response.HttpResponse.Content));
            }
            catch (ServerException e)
            {
                Console.WriteLine(e);
            }
            catch (ClientException e)
            {
                Console.WriteLine(e);
            }
        }

扩展方法:

  /// <summary>
        /// 实体对象转JSON字符串
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="ignoreNull"></param>
        /// <returns></returns>
        public static string ToJson(this object obj, bool ignoreNull = false)
        {
            return JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.None, new JsonSerializerSettings
            {
                DateFormatString = "yyyy-MM-dd HH:mm:ss",
                NullValueHandling = ignoreNull ? NullValueHandling.Ignore : NullValueHandling.Include
            });
        }

运行无误,发送成功,按照自己的需求扩展,我这里只是尝试一下发送验证码😁

如有错误或更好的建议,欢迎指出

点击获取源码,此仓库会一直更新相关的操作示例,大家可以给个⭐⭐鼓励一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JontyWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值