.Net Core
轻量版项目环境使用 .NET Core 2.0
,由于阿里云官方SDK目前(2018-01-12)版本尚未支持 .NET Core
环境,github
找到 aliyun-openapi-sdk-net-core,经测试使用的SDK已是旧版本,无法正常工作了。
阿里云官方SDK回复下个版本支持 .NET Core
环境。
由于并未阅读官方接口文档,本项目主要参考阿里云官方PHPSDK轻量版,改写为 .NET Core 2.0
版本,经测试运行正常,其中加密等方法均参考官方SDK。(详见参考和引用部分)
/// <summary>
/// 阿里云短信
/// https://www.aliyun.com/product/sms?spm=5176.8142029.388261.321.3836dbccTHaG24
/// </summary>
public class AliyunSms
{
public static string SendSms()
{
// *** 需用户填写部分 ***
//fixme 必填: 请参阅 https://ak-console.aliyun.com/ 取得您的AK信息
string accessKeyId = "your access key id";//你的accessKeyId,参考本文档步骤2
string accessKeySecret = "your access key secret";//你的accessKeySecret,参考本文档步骤2
Dictionary<string, string> smsDict = new Dictionary<string, string>();
//fixme 必填: 短信接收号码
smsDict.Add("PhoneNumbers", "17000000000");
//fixme 必填: 短信签名,应严格按"签名名称"填写,请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/sign
smsDict.Add("SignName", "短信签名");
//fixme 必填: 短信模板Code,应严格按"模板CODE"填写, 请参考: https://dysms.console.aliyun.com/dysms.htm#/develop/template
smsDict.Add("TemplateCode", "SMS_0000001");
// fixme 可选: 设置模板参数, 假如模板中存在变量需要替换则为必填项
smsDict.Add("TemplateParam", JsonConvert.SerializeObject(new { code = "12345", product = "阿里云短信" }));
//什么?Newtonsoft.Json也觉得重,那拼字符串好了
//smsDict.Add("TemplateParam", "{\"appname\":\"微关爱\",\"appstorename\":\"小黑\"}");
// *** 以下内容无需修改 ***
smsDict.Add("RegionId", "cn-hangzhou");
smsDict.Add("Action", "SendSms");
smsDict.Add("Version", "2017-05-25");
string domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
// 初始化SignatureHelper实例用于设置参数,签名以及发送请求
var singnature = new SignatureHelper();
return singnature.Request(accessKeyId, accessKeySecret, domain, smsDict);
}
licensed under the Apache License 2.0