参考官方例子
SDK是1.3.8,是昨天才发布的
但却报The XML you provided did not validate against our published schema, cause by "DirectSMS" Element.
代码如下:
public static bool Send(AliyunReqParams model)
{
bool result = true;
//初始化Client
IMNS client = new MNSClient(model.AccessKeyId, model.SecretAccessKey, model.EndPoint);
//获取主题引用
Topic topic = client.GetNativeTopic(model.TopicName);
//生成SMS消息属性
MessageAttributes messageAttributes = new MessageAttributes();
BatchSmsAttributes batchSmsAttributes = new BatchSmsAttributes();
//SMSSignName
batchSmsAttributes.FreeSignName = model.FreeSignName;
//SMSTemplateCode
batchSmsAttributes.TemplateCode = model.TemplateCode;
//(如果短信模板中定义了参数)设置短信模板中的参数,发送短信时,会进行替换
Dictionary<string, string> param = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(model.SmsParam))
{
param = JsonConvert.DeserializeObject<Dictionary<string, string>>(model.SmsParam);
}
//设置短信接收者手机号码
batchSmsAttributes.AddReceiver(model.RecNum, param);
messageAttributes.BatchSmsAttributes = batchSmsAttributes;
PublishMessageRequest request = new PublishMessageRequest();
request.MessageAttributes = messageAttributes;
//设置SMS消息体(必须)
//注:目前暂时不支持消息内容为空,需要指定消息内容,不为空即可。
request.MessageBody = "smsmessage";
try
{
//发布SMS消息
PublishMessageResponse resp = topic.PublishMessage(request);
}
catch (Exception ex)
{
LogHerlper.Log.WriteError("发送短信错误",ex);
result = false;
}
return result;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。