C#/Net调用阿里云的短信服务

在C#代码里调用阿里云的短信服务,用于推送消息
以下介绍具体的步骤主要分为配置和代码调用

服务管理和配置

在控制台首页进入短信服务

在这里插入图片描述

使用流程

跟随快速学习和测试

在这里插入图片描述

1.申请签名

签名必须为企业名字或者对应网站、应用的名称,其他名称则无法通过校验
在这里插入图片描述

2.模版管理

编辑模版内容

在这里插入图片描述

3.授权码

如果要使用api必须得有AccessKey,如果已有就跳过,没有的要需要自己创建,在右上角用户头像处,出现下拉菜单,点击AccessKey管理
在这里插入图片描述

使用子用户AccessKey

在这里插入图片描述

创建一个新用户

在这里插入图片描述

在这里插入图片描述

确定添加之后需要保存,记住accessKeyId和accessKeySecret,关闭之后无法再查看accessKeySecret

增加授权

在这里插入图片描述

调用短信服务

public class Sample {/*** 使用AK&SK初始化账号Client* @param accessKeyId* @param accessKeySecret* @return Client* @throws Exception*/public static AlibabaCloud.SDK.Dysmsapi20170525.Client CreateClient(string accessKeyId, string accessKeySecret){AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config{// 必填,您的 AccessKey IDAccessKeyId = accessKeyId,// 必填,您的 AccessKey SecretAccessKeySecret = accessKeySecret,};// 访问的域名config.Endpoint = "dysmsapi.aliyuncs.com";return new AlibabaCloud.SDK.Dysmsapi20170525.Client(config);}public static void Main(string[] args){// 工程代码泄露可能会导致AccessKey泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378671.htmlAlibabaCloud.SDK.Dysmsapi20170525.Client client = CreateClient("accessKeyId", "accessKeySecret");AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest sendSmsRequest = new AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest{PhoneNumbers = "",SignName = "",TemplateParam = "{\"code\":\"1234\"}",};AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();try{// 复制代码运行请自行打印 API 的返回值client.SendSmsWithOptions(sendSmsRequest, runtime);}catch (TeaException error){// 如有需要,请打印 errorAlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);}catch (Exception _error){TeaException error = new TeaException(new Dictionary<string, object>{{ "message", _error.Message }});// 如有需要,请打印 errorAlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);}}}

对代码进行修改,封装接口:

  /// <summary>/// 发送告警信息/// </summary>/// <param name="msg">故障告警/报错消息</param>/// <param name="phoneNumber">手机号(支持对多个手机号码发送短信,手机号码之间以半角逗号(,)分隔。上限为1000个手机号码。)</param>/// <param name="accessKeyId">授权码accessKeyId</param>/// <param name="accessKeySecret">授权密码accessKeySecret</param>/// <returns>调用反馈消息,如果成功返回OK,失败返回失败信息</returns>public static string SendSmsAlarm(string msg,string phoneNumber,string accessKeyId,string accessKeySecret){AlibabaCloud.SDK.Dysmsapi20170525.Client client = CreateClient(accessKeyId, accessKeySecret);//填入授权码AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest sendSmsRequest = new AlibabaCloud.SDK.Dysmsapi20170525.Models.SendSmsRequest{SignName = "XX的应用",//短信签名TemplateCode = "SMS_1111111",//短信模板PhoneNumbers = phoneNumber,//手机号TemplateParam = "{\"message\":\"" + msg + "\"}", //模板参数};AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();var resMessage = "";try{// 复制代码运行请自行打印 API 的返回值var res = client.SendSmsWithOptions(sendSmsRequest, runtime);resMessage = res.Body.Message;}catch (TeaException error){// 如有需要,请打印 errorresMessage = AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);}catch (Exception _error){TeaException error = new TeaException(new Dictionary<string, object>{{ "message", _error.Message }});// 如有需要,请打印 errorresMessage = AlibabaCloud.TeaUtil.Common.AssertAsString(error.Message);}return resMessage;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/307525.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【经典算法】有趣的算法之---蚁群算法梳理

every blog every motto: You can do more than you think. 0. 前言 蚁群算法记录 1. 简介 蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agent)通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性…

MySQL数据库备份和恢复

目录 一、备份方法 二、备份策略 三、MySQL日志管理 四、日志的查询 五、MySQL 完全备份 1、物理冷备份与恢复&#xff1a; 2&#xff0e;mysqldump 备份与恢复 六、MySQL 完全恢复 七、MySQL增量备份 八、MySQL增量恢复 1&#xff0e;一般恢复: 一、备份方法 物理备…

【mysql】—— 表的内连和外连

在MySQL中&#xff0c;内连&#xff08;INNER JOIN&#xff09;和外连&#xff08;OUTER JOIN&#xff09;是用于联接多个表的操作。接下来&#xff0c;我分别给大家介绍下二者。 目录 &#xff08;一&#xff09;内连接 1、什么叫内连接 2、语法格式 3、案例&#xff1a;显…

2023年度总结:技术旅程的杨帆远航⛵

文章目录 职业规划与心灵成长 ❤️‍&#x1f525;我的最大收获与成长 &#x1f4aa;新年Flag &#x1f6a9;我的技术发展规划 ⌛对技术行业的深度思考 &#x1f914;祝愿 &#x1f307; 2023 年对我来说是一个充实而令人难以忘怀的一年。这一年&#xff0c;我在CSDN上发表了 1…

Django(四)

1.数据库操作 MySQL数据库 pymysql import pymysql# 1.连接MySQL conn pymysql.connect(host"127.0.0.1", port3306, userroot, passwd"root123", charsetutf8, dbunicom) cursor conn.cursor(cursorpymysql.cursors.DictCursor)# 2.发送指令 cursor.…

数据库原理与应用快速复习(期末急救)

文章目录 第一章数据库系统概述数据、数据库、数据库管理系统、数据定义、数据组织、存储和管理、数据操纵功能、数据库系统的构成数据管理功能、数据库管理的3个阶段以及特点数据库的特点、共享、独立、DBMS数据控制功能数据库的特点 数据模型两类数据模型、逻辑模型主要包括什…

mongodb聚合_删除_可视化工具

3.5 MongoDB中limit和skip MongoDB Limit() 方法 如果你需要在MongoDB中读取指定数量的数据记录&#xff0c;可以使用MongoDB的Limit方法&#xff0c;limit()方法接受一个数字参数&#xff0c;该参数指定从MongoDB中读取的记录条数。limit()方法基本语法如下所示&#xff1a;…

NFC与ZigBee技术在智慧农业物联网监测系统中的应用

近年来&#xff0c;我国农业物联网技术飞速发展&#xff0c;基于物联网技术的智能农业监测系统有望得到较大规模的推广应用。但传统的物联网农业监测系统其网络结构层次单一&#xff0c;多采用基于有线或无线结构的节点-上位机数据采集模式&#xff0c;节点数据访问模式缺乏灵活…

javascript之location常用属性和方法

文章目录 前言为什么使用location的属性和方法呢&#xff1f;属性展示hrefhosthostnameportprotocolpathname 方法展示replace(url)assign(url)reload()toString() 总结属性总结&#xff1a;方法总结&#xff1a; 前言 本章学习的是location常用属性和方法 为什么使用location的…

虚拟机域环境的搭建

开始准备两台虚拟机Windows Server 2016和Windows10. Windows Server 2016的配置&#xff1a; 1.要用Administrator管理员&#xff0c;首先创建一个Administrator管理员 在此就可以创建一个新用户 然后退出登录就可以了。 2.开始环境的搭建 第一步&#xff1a; 第二步&…

{MySQL} 数据库约束 表的关系 新增删除 修改 查询

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、数据库约束1.1约束类型&#xff1a;1.2 NULL约束1.3unique 唯一约束1.4 DEFAULT&#xff1a;默认值约束1.5 PRIMARY KEY&#xff1a;主键约束1.6 FOREIGN K…

Java线程池ThreadPoolExecutor源码解析

Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准&#xff0c;常说线程池有七大参数&#xff0c;通常而言&#xff0c;有四个参数是比较重要的 public ThreadPoolExecutor(int corePoolSize,int maximumPoolSize,long keepAliveTime,TimeUnit …