当前位置:   article > 正文

使用移动云短信服务发送普通短信与模板短信_移动云 模板短信

移动云 模板短信

今天使用到了用移动云短信服务发送短信功能,顺便记录下

apid,secretKey和集团名称分别为如下图用户名,密码,所属分组

  1. package com.keyou.proj.authentication.service.utils;
  2. import cn.hutool.crypto.SecureUtil;
  3. import cn.hutool.http.HttpRequest;
  4. import cn.hutool.json.JSONUtil;
  5. import com.alibaba.fastjson.JSON;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.apache.commons.codec.binary.Base64;
  8. import java.io.IOException;
  9. import java.util.*;
  10. /**
  11. * 移动云短信发送
  12. * @author huwenjie
  13. * @Date 2024-03-07
  14. */
  15. @Slf4j
  16. public class MasSmsUtil {
  17. private static String apId="*******"; //用户名
  18. private static String secretKey="********"; //密码
  19. private static String ecName = "**************"; //集团名称
  20. private static String sign = "**********"; //网关签名编码
  21. private static String addSerial = ""; //拓展码 填空
  22. private static String templateId = "cdd39593dd954bca9a2a13907e4e15a3"; //模板id
  23. public static String url = "http://112.35.1.155:1992/sms/norsubmit"; //http请求 发送普通短信
  24. public static String tmpUrl = "http://112.35.1.155:1992/sms/tmpsubmit"; //http请求 发送模板短信
  25. /**
  26. * 多用户发送普通短信信息
  27. * @param mobiles 手机号码逗号分隔
  28. * @param content 短信内容
  29. * @throws Exception
  30. */
  31. public static void sendMsg(String mobiles, String content) throws Exception {
  32. HashMap<String, Object> params = new HashMap<>();
  33. params.put("ecName",ecName);
  34. params.put("apId",apId);
  35. params.put("secretKey",secretKey);
  36. params.put("mobiles",mobiles);
  37. params.put("content",content);
  38. params.put("sign",sign);
  39. params.put("addSerial",addSerial);
  40. String str = ecName + apId + secretKey + mobiles + content + sign + addSerial;
  41. String mdSe = SecureUtil.md5(str).toLowerCase();
  42. params.put("mac",mdSe);
  43. String reqText = JSON.toJSONString(params);
  44. String encode = Base64.encodeBase64String(reqText.getBytes("UTF-8"));
  45. String body = HttpRequest.post(url).body(encode).execute().body();
  46. Map map = JSONUtil.toBean(body, Map.class);
  47. Boolean success = (Boolean)map.get("success");
  48. if (!success){
  49. log.error("模板短信发送失败,错误码: " + map.get("rspcod"));
  50. }
  51. }
  52. /**
  53. * 多用户发送模板短信信息
  54. * @param mobiles 手机号码逗号分隔
  55. * @param par 参数
  56. * @throws Exception
  57. */
  58. public static void sendTmpMsg(String mobiles, List<String> par) throws Exception {
  59. HashMap<String, Object> params = new HashMap<>();
  60. params.put("ecName",ecName);
  61. params.put("apId",apId);
  62. params.put("secretKey",secretKey);
  63. params.put("templateId",templateId);
  64. params.put("mobiles",mobiles);
  65. params.put("params",par);
  66. params.put("sign",sign);
  67. params.put("addSerial",addSerial);
  68. String str = ecName + apId + secretKey + templateId + mobiles + JSONUtil.toJsonStr(par) + sign + addSerial;
  69. String mdSe = SecureUtil.md5(str).toLowerCase();
  70. params.put("mac",mdSe);
  71. String reqText = JSON.toJSONString(params);
  72. String encode = Base64.encodeBase64String(reqText.getBytes("UTF-8"));
  73. String body = HttpRequest.post(tmpUrl).body(encode).execute().body();
  74. Map map = JSONUtil.toBean(body, Map.class);
  75. Boolean success = (Boolean)map.get("success");
  76. if (!success){
  77. log.error("模板短信发送失败,错误码: " + map.get("rspcod"));
  78. }
  79. }
  80. public static void main(String[] args) throws Exception {
  81. // sendMsg("182****076","这是一个测试短信哦");
  82. sendTmpMsg("182******076",new ArrayList<String>());
  83. }
  84. }

结束........

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/908894
推荐阅读
相关标签
  

闽ICP备14008679号