极光短信官网 https://www.jiguang.cn/

官方文档 https://docs.jiguang.cn/jpush/server/sdk/java_sdk/

官方github https://github.com/jpush/jpush-api-java-client


demo是针对极光短信的 模板短信,先创建一套短信验证码模板,再把java生成的验证码替换到短信code位置,然后发给用户


  1. package com.gemini.common.utils;
  2.  
  3. import cn.jsms.api.SendSMSResult;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6.  
  7. import cn.jiguang.common.resp.APIConnectionException;
  8. import cn.jiguang.common.resp.APIRequestException;
  9. import cn.jsms.api.common.SMSClient;
  10. import cn.jsms.api.common.model.SMSPayload;
  11.  
  12. import java.util.ArrayList;
  13. import java.util.List;
  14.  
  15. public class JsmsUtils {
  16.     protected static final Logger log = LoggerFactory.getLogger(JsmsUtils.class);
  17.     //这两个码要先去极光短信注册申请和充值后才会生效
  18.     private static final String appkey = "";
  19.     private static final String masterSecret = "";
  20.  
  21.     public static void main(String[] args) {
  22.         // 这里要填入你测试用的手机号和验证码
  23.         sendTemplateSMS("手机号","验证码");
  24.     }
  25.     //这段是按照模板发送短信的代码。模板类似验证码模板,code替换验证码位置
  26.     public static void sendTemplateSMS(String mobile,String code) {
  27.         SMSClient client = new SMSClient(masterSecret, appkey);
  28.         SMSPayload payload = SMSPayload.newBuilder()
  29.                 .setMobileNumber(mobile)
  30.                 .setTempId(1)
  31.                 .addTempPara("code", code)
  32.                 .build();
  33.         try {
  34.             SendSMSResult res = client.sendTemplateSMS(payload);
  35.             log.info(res.toString());
  36.         } catch (APIRequestException e) {
  37.             log.error("Error response from JPush server. Should review and fix it. ", e);
  38.             log.info("HTTP Status: " + e.getStatus());
  39.             log.info("Error Message: " + e.getMessage());
  40.         } catch (APIConnectionException e) {
  41.             log.error("Connection error. Should retry later. ", e);
  42.         }
  43.     }
  44.  
  45. }


maven 依赖

  1. <dependency>
  2. <groupId>cn.jpush.api</groupId>
  3. <artifactId>jsms-client</artifactId>
  4. <version>1.2.5</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>cn.jpush.api</groupId>
  8. <artifactId>jiguang-common</artifactId>
  9. <version>1.0.8</version>
  10. </dependency>