阿里大鱼简单发送短信功能.net core版

阿里大鱼是阿里云旗下的短信发送平台,它提供了多种发送短信的方式,包括API、SDK和控制台等。在使用阿里大鱼发送短信时,需要先在控制台上创建一个应用,并获取到App Key、App Secret以及短信模板等信息。本文将介绍如何使用 .NET Core 版本的阿里大鱼 SDK 实现简单的发送短信功能。

准备工作

  1. 创建阿里云账号,进入阿里云控制台:https://home.console.aliyun.com/new#/
  2. 创建短信签名和短信模板,获取短信模板ID。
  3. 创建阿里大鱼应用,获取 App Key 和 App Secret。
  4. 安装阿里大鱼 SDK:使用命令 Install-Package Aliyun.SDK.Acs 安装。

配置阿里大鱼 SDK

在使用阿里大鱼 SDK 之前,需要在 appsettings.json 中配置 App Key、App Secret 和短信模板。

{
  "Aliyun": {
    "AccessKeyId": "your-access-key-id",
    "AccessKeySecret": "your-access-key-secret",
    "RegionId": "cn-hangzhou",
    "SmsSignName": "your-sms-sign-name",
    "SmsTemplateCode": "your-sms-template-code"
  }
}

发送短信

以下是发送短信的代码示例:

using Aliyun.Acs.Core;
using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core.Requests;
using Aliyun.Acs.Core.Responses;
using Microsoft.Extensions.Configuration;
using System;
using System.Collections.Generic;
using System.Text;

namespace Aliyun.Demo
{
    public class SmsHelper
    {
        private readonly IAcsClient acsClient;

        public SmsHelper(IConfiguration configuration)
        {
            var accessKeyId = configuration["Aliyun:AccessKeyId"];
            var accessKeySecret = configuration["Aliyun:AccessKeySecret"];
            var profile = DefaultProfile.GetProfile(configuration["Aliyun:RegionId"], accessKeyId, accessKeySecret);
            acsClient = new DefaultAcsClient(profile);
        }

        public bool SendSms(string mobile, string code)
        {
            var request = new SendSmsRequest
            {
                PhoneNumbers = mobile,
                SignName = "your-sms-sign-name",
                TemplateCode = "your-sms-template-code",
                TemplateParam = "{\"code\":\"" + code + "\"}"
            };

            try
            {
                var response = acsClient.GetAcsResponse(request);
                if (response.Code != "OK")
                {
                    throw new Exception($"SMS sending error: {response.Message}");
                }

                return true;
            }
            catch (ServerException e)
            {
                Console.WriteLine("Server Error: " + e.ErrorCode + e.ErrorMessage);
                return false;
            }
            catch (ClientException e)
            {
                Console.WriteLine("Client Error: " + e.ErrorCode + e.ErrorMessage);
                return false;
            }
        }
    }
}

在程序中调用 SmsHelper.SendSms() 方法,可以向指定手机号码发送短信。其中,mobile 参数为目标手机号码,code 参数为短信验证码。

以下是在 ASP.NET Core 中调用 SendSms() 方法的示例:

using Aliyun.Demo;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;

namespace WebApplication.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class SmsController : ControllerBase
    {
        private readonly IConfiguration configuration;
        private readonly SmsHelper sms;

        public SmsController(IConfiguration configuration)
        {
            this.configuration = configuration;
            this.sms = new SmsHelper(configuration);
        }

        [HttpGet]
        public IActionResult Get(string mobile, string code)
        {
            if (string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(code))
            {
                return BadRequest();
            }

            var result = sms.SendSms(mobile, code);
            return Ok(result);
        }
    }
}

在上面的代码中,控制器接收 mobile 和 code 两个参数,并调用 SmsHelper.SendSms() 方法发送短信。发送成功后,返回 Ok() 响应。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:阿里大鱼简单发送短信功能.net core版 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • C#实现二叉查找树

    C#实现二叉查找树 什么是二叉查找树 二叉查找树(Binary Search Tree)也称为二叉搜索树,简称BST。它是一种基于二分查找思想的非线性数据结构,由多个节点组成,每个节点包含一个键值,同时有两个指针分别指向左右子节点,满足以下性质: 左子树上所有节点的键值小于它的根节点的键值。 右子树上所有节点的键值大于它的根节点的键值。 左右子树也必须是二叉…

    C# 2023年6月8日
    00
  • C#获取当前页面的URL示例代码

    下面是C#获取当前页面的URL的完整攻略。 获取当前页面的URL 在C#中,可以使用HttpContext类来获取当前页面的URL。HttpContext类可以访问请求的相关信息,例如它的路径、查询字符串、表单、标头和cookies。 步骤1:导入命名空间 在代码中的第一行,必须包含以下命名空间: using System.Web; 步骤2:获取HttpCo…

    C# 2023年6月7日
    00
  • C# Winform程序实现防止多开的方法总结【亲测】

    C# Winform程序实现防止多开的方法总结【亲测】 当我们同事启动我们编写的C# Winform程序时,有时会发现一个很尴尬的问题,同事同时启动了多个程序。这会给我们的程序带来一些问题,如系统资源的浪费等。因此,为了解决这个问题,我们有必要实现一个防止多开的功能。在本文中,我将介绍三种解决方案。 解决方案一:记录程序运行状态 为了能判断程序是否正在运行中…

    C# 2023年6月7日
    00
  • .Net Core读取文件时中文乱码问题的解决方法分享

    .NET Core读取文件时中文乱码问题的解决方法分享 在使用.NET Core读取含有中文字符的文件时,有时会出现中文字符乱码的问题。这是因为在不同的编码方式下,中文字符会以不同的方式表示。本文将详细介绍读取文件时中文乱码问题的解决方法,并提供两个示例。 问题分析 先来看一个示例: string contents = System.IO.File.Read…

    C# 2023年6月3日
    00
  • C#操作INI文件的辅助类IniHelper

    C#操作INI文件的辅助类IniHelper INI文件是一种格式简单的配置文件,在Windows中被广泛应用。C#可以通过调用Win API函数来操作INI文件,但是操作起来比较繁琐。因此,使用辅助类IniHelper可以更加方便、简单地操作INI文件。 使用IniHelper IniHelper类封装了INI文件读、写等操作,使用前需要引入该类所在的命名…

    C# 2023年6月1日
    00
  • CommunityToolkit.Mvvm8.1 IOC依赖注入控制反转(5)

      本系列文章导航 https://www.cnblogs.com/aierong/p/17300066.html https://github.com/aierong/WpfDemo (自我Demo地址) 希望提到的知识对您有所提示,同时欢迎交流和指正 作者:aierong出处:https://www.cnblogs.com/aierong     说明 …

    C# 2023年4月22日
    00
  • WPF自动隐藏的消息框的实例代码

    WPF自动隐藏的消息框是一种常见的用户界面元素,它可以在应用程序中显示消息或警告,并在一定时间后自动隐藏。本文将介绍如何创建WPF自动隐藏的消息框,并提供两个示例来演示如何使用这些技术。 创建WPF自动隐藏的消息框 以下是创建WPF自动隐藏的消息框的步骤: 创建一个新的WPF窗口,用于显示消息框。 在窗口中添加一个TextBlock控件,用于显示消息文本。 …

    C# 2023年5月15日
    00
  • C# 单元测试全解析

    C# 单元测试全解析 前言 单元测试在软件开发过程中是一个至关重要的环节,可以确保代码的质量与正确性。而C#作为一种强类型编程语言,提供了方便易用的单元测试框架。本文将全面讲解C#中的单元测试包括:单元测试框架的介绍、搭建单元测试环境、编写单元测试用例、运行单元测试。希望本文能够对C#单元测试的学习与实践有所帮助。 单元测试框架介绍 单元测试框架是C#中用于…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部