一、首先申请签名和模板
1.登陆阿里云官网,找到短信服务,开通以后进入管理控制台,找到签名管理,申请一个签名,如下图:
2.然后找到模板管理,申请一个模板,模板里都有格式内容介绍,申请好以后大概是这样:
3.签名名称和模板CODE等会代码中会用到,还有Access Key ID 和 Access Key Secret也要用到,Access Key在个人信息的下拉列表里可以找到,如下图:
二、下载.Net平台下的SDK
1.点击短信服务列表中的帮助文档
2.点击SDK下载,进入到SDK及DEMO下载页面,找到第4个[NET],点击即可下载。
3.将下载好的压缩包进行解压,找到msgdemo目录,在/msgdemo/alicom-mns-receive有发送短信的demo和dll文件
三、发短信的具体实现
1.将/msg_demo/alicom-mns-receive/dll目录下的4个dll文件拷贝到你的项目目录下
2.在你项目的引用右键添加引用,打开引用管理器,如图:
3.点击浏览,将阿里大于依赖的4个dll文件添加进来,然后点击确定。
4.将/msg_demo/alicom-mns-receive下的sendsms文件拷贝到你的项目中,将其中Access Key ID 、 Access Key Secret、签名名称、模板CODE替换成你自己的即可,还有接收短信的手机号,模板内容等,可以将main函数改成一个方法sendMsg(string phone,string code),直接调用方法即可,参数改为接收短信的手机号和短信内容:
namespace ConsoleApplication1
{
class sendsms
{
static String product = "Dysmsapi";//短信API产品名称
static String domain = "dysmsapi.aliyuncs.com";//短信API产品域名
static String accessId = "你的Key";
static String accessSecret = "你的Secret";
static String regionIdForPop = "cn-hangzhou";
public static void sendMsg(string phone,string code)
{
IClientProfile profile = DefaultProfile.GetProfile(regionIdForPop, accessId, accessSecret);
DefaultProfile.AddEndpoint(regionIdForPop, regionIdForPop, product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
try
{
//request.SignName = "上云预发测试";//"管理控制台中配置的短信签名(状态必须是验证通过)"
//request.TemplateCode = "SMS_71130001";//管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过)"
//request.RecNum = "13567939485";//"接收号码,多个号码可以逗号分隔"
//request.ParamString = "{\"name\":\"123\"}";//短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。"
//SingleSendSmsResponse httpResponse = client.GetAcsResponse(request);
request.PhoneNumbers = phone;//接收短信的手机号
request.SignName = "签名名称";
request.TemplateCode = "模板CODE";
request.TemplateParam = "{\"code\":\"" + code + "\"}";//模板内容
// request.OutId = "xxxxxxxx"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
//请求失败这里会抛ClientException异常
SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request);
System.Console.WriteLine(sendSmsResponse.Message);
}
catch (ServerException e)
{
System.Console.WriteLine("ServerException");
}
catch (ClientException e)
{
System.Console.WriteLine("ClientException");
}
}
}
}
5.运行程序,调用发送短信方法进行测试,测试成功!