发送短信程序里面参数怎么填?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

发送短信程序里面参数怎么填?

轩墨 2017-10-25 09:47:18 1736


发布短信消息示例代码中的参数解释


下面以java代码为例,解释下各个参数该怎么填

1. topic填什么


CloudTopic topic = client.getTopicRef(“$YourTopic”);
$YourTopic 填免费topic即可(如果要用收费topic请参考相关sdk示例文档),如截图,sms.topic-cn-hangzhou即为杭州域的免费topic


2.endpoint填什么


CloudAccount account = new CloudAccount(“$YourAccessId”, “$YourAccessKey”, “$YourMNSEndpoint”);
$YourMNSEndpoint 填您第一步中使用的topic对应域的endpoint,如截图,有三个地址
您运行程序的机器是公网机器请用 公网Endpoint
您运行程序的机器是阿里云经典网络ECS请用 私网Endpoint
您运行程序的机器是阿里云专有网络ECS器请用 VPCEndpointendpoint的获取页面:短信概览页,选择您的所在地区,下图红框位置

3.MessageBody填什么


现版本sdk中,MessageBody可以随便填,其实不生效,但是必须填,不填会出错,下一版本sdk我们会把这参数去掉。
sms-message替换为任意字符串都不会出错。
msg.setMessageBody(“sms-message”);

4.短信签名填什么


batchSmsAttributes.setFreeSignName(“$YourSignName”);
$YourSignName 填您审核通过的短信签名的名称,如截图,这个审核通过的签名叫做”测试”
代码里面就写成这样
batchSmsAttributes.setFreeSignName(“测试”);


5.发送短信使用的模板填什么


batchSmsAttributes.setTemplateCode(“$YourSMSTemplateCode”);
$YourSMSTemplateCode 填通过审核的模板CODE,以 SMS_ 开头的字符串


6.模版参数填什么


BatchSmsAttributes.SmsReceiverParams smsReceiverParams = new BatchSmsAttributes.SmsReceiverParams();
smsReceiverParams.setParam(“$YourSMSTemplateParamKey1”, “$value1”);
比方截图这个模版,有个参数叫做${name},代码就要写成
smsReceiverParams.setParam(“name”, “您想填的名字”);
注:模版里面是全常量没有设置参数的,不用setParam

以上参数都填对,发送成功,手机还收不到消息的,再开工单与我们联系。


1. 代码请用UTF8 格式,以避免中文字符出现问题。



2. 每天发送短信条数是有限制的。参考流控文档



3. 如果您提交接口请求后,未能收到短信,您可以通过事件通知来查看结果,包括请求接口错误和发送状态返回结果。


事件通知 接口报错信息 运营商返回报错信息

4.如还无法解决您的问题,您可以提交工单,并将messageid提供给我们。

弹性计算 Java 网络安全 开发工具
分享到
取消 提交回答
全部回答(0)
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程