zoukankan      html  css  js  c++  java
  • 阿里大于发送短信(java)

    一、短信签名设置

      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; }
  • 相关阅读:
    Kinect 开发 —— 硬件设备解剖
    Kinect 开发 —— 引言
    (转)OpenCV 基本知识框架
    OpenCV —— 摄像机模型与标定
    OpenCV —— 跟踪与运动
    OpenCV —— 图像局部与分割(二)
    OpenCV —— 图像局部与部分分割(一)
    OpenCV —— 轮廓
    OpenCV —— 直方图与匹配
    OpenCV —— 图像变换
  • 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/6891795.html
Copyright © 2011-2022 走看看