对于批量发送短信的操作,首先需要联系短信发送平台,并与之协商相关的费率问题,待协商确定后,短信发送平台会提供相关的程序开发接口,即SDK,及相关的账号密码等参数。后续按照SDK中介绍的方法或示例进行相关开发即可。
目前使用阿里的短信开发平台,利用C#进行开发的相关代码如下,仅供参考。
if (!Regex.IsMatch(Phone,"^[0-9]{11}$"))
{
return false;
}
string product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
string domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
string accessKeyId = "xxxxxx";//你的accessKeyId,参考本文档步骤2
string accessKeySecret = "xxxxxxxxxxx";//你的accessKeySecret,参考本文档步骤2
IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
//IAcsClient client = new DefaultAcsClient(profile);
// SingleSendSmsRequest request = new SingleSendSmsRequest();
//初始化ascClient,暂时不支持多region(请勿修改)
DefaultProfile.AddEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
SendSmsRequest request = new SendSmsRequest();
try
{
//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式,发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000”
request.PhoneNumbers = Phone;
//必填:短信签名-可在短信控制台中找到
request.SignName = Autograph;
//必填:短信模板-可在短信控制台中找到
request.TemplateCode = TemplateCode;
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
request.TemplateParam = "{" + TemplateParam + "}";
//可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
request.OutId = "yourOutId";
//请求失败这里会抛ClientException异常
SendSmsResponse sendSmsResponse = acsClient.GetAcsResponse(request);
return true;
}