通过.NET CLI工具来安装核心库-------------------------
dotnet add package aliyun-net-sdk-core
public class SMSController : ApiController
{/// <summary>
/// 发短信
/// </summary>
/// <returns></returns>
[System.Web.Http.HttpGet]
public JsonResult<CodeMsg> SendSMS(string No)
{
string AcKeyId = ConfigurationManager.AppSettings["SMSKeyId"];
string AcScrtId = ConfigurationManager.AppSettings["SMSSCt"];
string TemCode = new DALSMSSet().GetLast().SMSCode;//获取模板码
string SignName = ConfigurationManager.AppSettings["SMSSignName"];
CodeMsg msg = new CodeMsg();
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", AcKeyId, AcScrtId);
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",No);//电话号码
request.AddQueryParameters("SignName", SignName);//签名
request.AddQueryParameters("TemplateCode", TemCode);//模板Id
// request.AddQueryParameters("TemplateParam", $"{{\"code\":\"{Yanzhangma}\"}}"); //如果是验证码的话
try
{
CommonResponse response = client.GetCommonResponse(request);
msg.Code = 1;
msg.Data = System.Text.Encoding.Default.GetString(response.HttpResponse.Content);
}
catch (Aliyun.Acs.Core.Exceptions.ServerException e)
{
msg.Code = 0;
msg.Reson = e.Message;
}
catch (ClientException e)
{
msg.Code = 0;
msg.Reson = e.Message;
}
return Json<CodeMsg>(msg);
}
/// <summary>
///添加模板
/// </summary>
/// <returns></returns>
[System.Web.Http.HttpGet]
public JsonResult<CodeMsg> AddModel(string Content)
{
string AccessKeyId = ConfigurationManager.AppSettings["SMSKeyId"];
string serviceAddress = $"https://dysmsapi.aliyuncs.com/?Action=AddSmsTemplate&TemplateType=1&TemplateName=短信息&TemplateContent={Content}&AccessKeyId={AccessKeyId}";
string AcScrtId = ConfigurationManager.AppSettings["SMSSCt"];
string SignName = ConfigurationManager.AppSettings["SMSSignName"];
CodeMsg msg = new CodeMsg();
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", AccessKeyId, AcScrtId);
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("Action", "AddSmsTemplate");
request.AddQueryParameters("TemplateType", "1");
request.AddQueryParameters("TemplateName", "短信息");
request.AddQueryParameters("TemplateContent", Content);
request.AddQueryParameters("AccessKeyId", AccessKeyId);
request.AddQueryParameters("Remark",DateTime.Now.ToString()+"的模板");
try
{
CommonResponse response = client.GetCommonResponse(request);
string Responsestr = System.Text.Encoding.Default.GetString(response.HttpResponse.Content);
msg.Data =Responsestr;
JObject jsonObj = JsonConvert.DeserializeObject(Responsestr) as JObject;
string OutCode = jsonObj.Value<string>("TemplateCode");
string OutErrorCode = jsonObj.Value<string>("Code");
if (OutErrorCode.Equals("OK"))
{
msg.Code = 1;
SMSSet model = new SMSSet();
model.Guid = Guid.NewGuid().ToString();
model.SMSCode = OutCode;
model.SMSContent = Content;
new DALSMSSet().Insert(model);
}
else
{
msg.Code =0;
msg.Reson = Responsestr;
}
// if () { }
}
catch (Aliyun.Acs.Core.Exceptions.ServerException e)
{
msg.Code = 0;
msg.Reson = e.Message;
}
catch (ClientException e)
{
msg.Code = 0;
msg.Reson = e.Message;
}
return Json<CodeMsg>(msg);
}
参考链接
https://help.aliyun.com/document_detail/112145.html?spm=a2c4g.215745.0.0.26f06cf0ha2B3G