using System; using System.Collections.Generic; using System.Linq; using System.Text; using Aliyun.Acs.Core; using Aliyun.Acs.Core.Profile; using Aliyun.Acs.Core.Exceptions; using Aliyun.Acs.Dysmsapi.Model.V20170525; namespace Common { public static class AliyunSMSHelper { /// /// 发送验证码 /// /// 接收号码,多个号码可以逗号分隔 /// 验证码 public static void SendVerifySMS(string recNum, string code) { SendSMS(recNum, "{'code':'" + code + "'}"); } /// /// 发送验证码 /// /// 接收号码,多个号码可以逗号分隔 /// 短信模板中的变量;数字需要转换为字符串;个人用户每个变量长度必须小于15个字符。 /// private static void SendSMS(string recNum, string paramString) { //IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "LTAICuIny2zJSSjm", "uguZzmshKPtT0fW87E8sP1TXe7Kwc9"); IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", "8NjAZd7btOhDFPBB", "UVgzyUqW1p0dYY7nMDYG5CkJdVwzUY"); //IAcsClient client = new DefaultAcsClient(profile); //SingleSendSmsRequest request = new SingleSendSmsRequest(); DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", "Dysmsapi", "dysmsapi.aliyuncs.com");//短信API产品名称,短信API产品域名 IAcsClient acsClient = new DefaultAcsClient(profile); SendSmsRequest request = new SendSmsRequest(); try { //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = recNum; //必填:短信签名-可在短信控制台中找到 //request.SignName = "小威提示";; request.SignName = "宝来威"; //必填:短信模板-可在短信控制台中找到 //request.TemplateCode = "SMS_95095011"; request.TemplateCode = "SMS_199310216"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = paramString;// "{\"customer\":\"123\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.OutId = "21212121211"; //请求失败这里会抛ClientException异常 //SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); } catch (ServerException e) { throw e; } catch (ClientException e) { throw e; } } } }