开发者社区> mr_伍先生> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

阿里大于发送短信(java)

简介: 一、短信签名设置   1、短信签名是什么?   签名是在短信内容开始或者末尾跟的品牌或者应用名称,设置签名有一下几个好处:增加品牌的曝光度,增强用户的记忆让用户能更清楚的知道正在使用的应用。   2、签名可不可以不设置?   如果您不设置签名,您通过接口发送的短信将很可能会进入短信审核流程(注:进入该流程需要短信发送平台的客服人工审核,将会影响短信的发送和到达时间)或者可能直接被网关驳回,所以,为了您平台用户使用短信的稳定性,设置短信签名是十分必要的。
+关注继续查看

一、短信签名设置

  1、短信签名是什么?

  签名是在短信内容开始或者末尾跟的品牌或者应用名称,设置签名有一下几个好处:增加品牌的曝光度,增强用户的记忆让用户能更清楚的知道正在使用的应用。

  2、签名可不可以不设置?

  如果您不设置签名,您通过接口发送的短信将很可能会进入短信审核流程(注:进入该流程需要短信发送平台的客服人工审核,将会影响短信的发送和到达时间)或者可能直接被网关驳回,所以,为了您平台用户使用短信的稳定性,设置短信签名是十分必要的。

  3、短信签名怎么设置?

  一般签名设置为您的品牌名、应用名、公司名等有代表性的信息,三到八个字即可。如【信信客】、【淘宝网】。

二、短信模板设置

  1、什么是短信模板?

  短信模板是对您将要发送的短信进行相似性提取后的内容。举个例子:

  A用户在您平台注册会员,需要发送一条短信,内容如下:

  您好,您的验证码是:111111

  同时,B用户也在您的平台注册会员,发送了如下短信:

  您好,您的验证码是:222222

  我们提取相似度以后,可以制作以下短信模板:

  您好,您的验证码是:${code}

  其中,${code}这种使用大括号包围起来的形式,我们称之为变量。您可以按照所在场景定义变量。

  短信模板中的变量可以是数字,英文或汉字等

  1.实例一:需要传递变量值:${code}=“123456”

  

  2.实例二:需要传递变量值:${nanme}=“李先生”,${order}=“20160506168”,${amount}=“588”。

  

  2、为什么要设置短信模板?

  如果不设置短信模板,通过接口发送的短信将很可能会进入短信审核流程(注:进入该流程需要短信发送平台的客服人工审核,将会影响短信的发送和到达时间),或者直接被网关驳回,所以,为了您平台用户使用短信的稳定性,设置模板也是十分必要的。

三、如果不设置短信签名和模板,可以不可以发送短信?

  可以发送,但是该短信将会进入人工审核流程,可能会影响您的短信到达时间。所以,我们强烈建议您报备短信签名和模板。

 

四:关于开发

     官方代码样例:

TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
req.setExtend( "" );
req.setSmsType( "normal" );
req.setSmsFreeSignName( "" );
req.setSmsParamString( "" );
req.setRecNum( "13000000000" );
req.setSmsTemplateCode( "" );
AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
System.out.println(rsp.getBody());

 

  项目实际代码:

//service中发送验证码的逻辑

@Override
public Map<String, String> sendSMSMsg(String phone, String msg) throws ApiException { Map<String, String> map = new HashMap<String, String>();
//开发过程中,设置不发送短信
if (!StringUtils.equals("1", smsSettings.getOpen())) { map.put("resultCode", "0"); map.put("smsPhone", phone + ""); map.put("smsTime", (new Date()).getTime() + ""); map.put("smsCode", "1234"); return map; } TaobaoClient client = new DefaultTaobaoClient(smsSettings.getUrl(), smsSettings.getAppkey(), smsSettings.getSecret()); AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest(); Random rnd = new Random(); int code = rnd.nextInt(8999) + 1000;(0到9999四位数验证码) req.setSmsType(smsSettings.getType()); req.setSmsFreeSignName(smsSettings.getSignName()); req.setSmsParamString("{\"code\":\"" + code + "\",\"product\":\"" + "" + "\"}");//套用模板 req.setRecNum(phone); req.setSmsTemplateCode(smsSettings.getTplCode()); AlibabaAliqinFcSmsNumSendResponse response = client.execute(req); logger.info("sendMsm,body: {}", response.getBody()); if (response.getBody().contains("error_response")) {// true map.put("resultCode", "1"); map.put("resultMsg", "短信发送次数超出限制,请稍后再试。");// 对同一个手机号可发送1条/分钟,7条/小时,50条/天 } else if (response.getResult().getSuccess()) { map.put("resultCode", "0"); map.put("smsPhone", phone + ""); map.put("smsTime", (new Date()).getTime() + ""); map.put("smsCode", code + ""); } return map; }

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
JAVA
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
193 0
JAVA
java学习
202 0
Java 斐波那契数列
Java 斐波那契数列
36 0
Java 斐波那契数列
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/50339901 斐波那契数列在编程界无人不晓...
725 0
java
java开发工程师工作职责:1.基于javascript的浏览器端应用开发;2.基于j2ee体系的后台服务器端开发。职位要求:1.有较多的java web开发经验,熟悉j2ee开发流程,会使用Hibernate,如果熟悉rest、jaxb则更好;2.
805 0
+关注
mr_伍先生
java,编程语言,算法兴趣
476
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载