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 BLWWS_BLL { 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"); //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 { //request.SignName = "小威提示";//"管理控制台中配置的短信签名(状态必须是验证通过)" //request.TemplateCode = "SMS_95095011";//"管理控制台中配置的审核通过的短信模板的模板CODE(状态必须是验证通过)" //request.RecNum = recNum; //request.ParamString = paramString; //SingleSendSmsResponse httpResponse = client.GetAcsResponse(request); //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为20个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式 request.PhoneNumbers = recNum; //必填:短信签名-可在短信控制台中找到 request.SignName = "小威提示"; //必填:短信模板-可在短信控制台中找到 request.TemplateCode = "SMS_95095011"; //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.TemplateParam = paramString;// "{\"customer\":\"123\"}"; //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者 //request.OutId = "21212121211"; //请求失败这里会抛ClientException异常 //SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request); //LogHelper.WriteLog(sendSmsResponse.Message); } catch (ServerException e) { LogHelper.WriteLog(e.ToString()); } catch (ClientException e) { LogHelper.WriteLog(e.ToString()); } } } }