C# 使用阿里云发送短信
最近有个项目,短信服务使用的是阿里云的,由于时间问题,没有手动去构造sign去发送,而是直接使用阿里云的SDK发送,所以这里算是做个笔记,或许以后还能用得到
首先,我们需要安装阿里云的SDK,推荐使用nuget安装,搜索aliyun-net-sdk-core
,直接按照即可
安装完成之后就可以使用了,代码如下:

using Aliyun.Acs.Core; using Aliyun.Acs.Core.Http; using Aliyun.Acs.Core.Profile; using System; namespace DemoConsole2 { class Program { static void Main(string[] args) { IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>"); 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; request.AddQueryParameters("PhoneNumbers", "185XXXXXXXX"); request.AddQueryParameters("SignName", "签名"); request.AddQueryParameters("TemplateCode", "SMS_176375688"); request.AddQueryParameters("TemplateParam", "{\"code\":\"074281\"}"); request.AddQueryParameters("OutId", ""); try { CommonResponse response = client.GetCommonResponse(request); var content = System.Text.Encoding.Default.GetString(response.HttpResponse.Content); Console.WriteLine(content); } catch (Exception e) { Console.WriteLine(e); } } } }
注意,其中参数要用AddQueryParameters方法,因为参数是放在QueryString中携带过去的,具体可以使用哪些参数可以参考阿里云的开发文档:https://help.aliyun.com/document_detail/101414.html?spm=a2c4g.11186623.6.616.74665f30I95HSl
其中accessKeyId和accessSecret可以在阿里云上查看,如下图
签名和模板Code需要申请和审核,如下图
一个专注于.NetCore的技术小白
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY