先在application.properties中加入
参数自行添加

feige.message.feigeUrl=http://api.feige.ee/SmsService/Inter
feige.message.msgAccount=
feige.message.msgPwd=
feige.message.msgSignId=
feige.message.msgTemp=

msgAccount是接口账号,msgPwd是接口密钥


msgSignId在短信中心的签名管理的签名Id

msgTemp在短信中心的模板管理的模板Id

controller

package com.yy.controller;import com.yy.service.YuumiUserService;
import com.yy.util.ResponseProtocol;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class TestController {@Autowiredprivate YuumiUserService yuumiUserService;@RequestMapping("/v1.0/sendMessage")public ResponseProtocol<String> message(String telephone,String areaCode) {return this.yuumiUserService.message(telephone,areaCode);}
}

util

package com.yy.util;public class ResponseProtocol<T> {/**** 响应信息,无论成功还是失败,都需要写入相应的信息*/private String message;/*** 0失败 1成功*/private Integer resultCode;/**** 响应数据*/private T data;public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public Integer getResultCode() {return resultCode;}public void setResultCode(Integer resultCode) {this.resultCode = resultCode;}public T getData() {return data;}public void setData(T data) {this.data = data;}
}
package com.yy.util;import java.util.Date;/*** @author* 生成6位数验证码*/
public class VolidateCodeUtil {public static Integer getVolidateCode() {Integer random = (int)(Math.random()*899999)+100000;return random;}
}
package com.yy.util;public class Constant {public final static String CODE_ERROR = "验证码不正确!";public final static String SUCCESS = "success!";public final static String FAILED = "failed!";public final static int RET_CODE_SUCCESS = 1;public final static int RET_CODE_FAILED = 0;public final static int RET_CODE_FAILED2 = 2;
}

service

package com.yy.service;import com.yy.util.ResponseProtocol;public interface YuumiUserService {/*** 发送短信验证码* @param tel* @return*/public ResponseProtocol<String> message(String tel,String areaCode);
}

serviceImpl

package com.yy.service.impl;import com.yy.config.Config;
import com.yy.service.YuumiUserService;
import com.yy.util.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import java.util.HashMap;
import java.util.Map; /*** 用户表*/
@Service
public class YuumiUserServiceImpl implements YuumiUserService {private static Logger log = LoggerFactory.getLogger(YuumiUserServiceImpl.class);@Autowiredprivate Config config;/*** 发送短信验证码* @param tel* @return*/public ResponseProtocol<String> message(String tel,String areaCode) {System.out.println("tel="+tel);System.out.println("areaCode="+areaCode);ResponseProtocol<String> resp = new ResponseProtocol<String>(); if(tel==null||areaCode==null){resp.setMessage("地区码|号码不能为空!");resp.setResultCode(Constant.RET_CODE_FAILED);return resp;} //生成验证码Integer code = VolidateCodeUtil.getVolidateCode();//调用feige发送接口MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();params.add("Account",config.getMsgAccount());//在飞鸽传书应用集成中创建的短信应用账号params.add("Pwd",config.getMsgPwd());//飞鸽传书应用集成中的短信请求接口密钥params.add("Content",code.toString());//验证码params.add("Mobile",areaCode+tel);//手机号码 格式(区号+手机号码) 例如:8615800000000,其中86为中国的区号params.add("SignId",config.getMsgSignId());//短信签名建议2-8字符,id可在管理后台获取、添加、编辑params.add("TemplateId",config.getMsgTemp());//短信免审模板ID,id可在管理后台获取、添加、编辑String res  = HttpUtil.sendPostRequest(config.getFeigeUrl(),params);ResultVO vo = HttpUtil.convert(res);if(!"OK".equals(vo.getMessage())){log.error("发送短信报错!");resp.setMessage("发送短信报错!");resp.setResultCode(Constant.RET_CODE_FAILED);return resp;} resp.setData(code.toString());resp.setMessage(Constant.SUCCESS);resp.setResultCode(Constant.RET_CODE_SUCCESS);return resp;}
}

config

package com.yy.config;import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;@Component
public class Config {@Value("${feige.message.feigeUrl}")String feigeUrl;@Value("${feige.message.msgAccount}")String msgAccount ;@Value("${feige.message.msgPwd}")String msgPwd ;@Value("${feige.message.msgTemp}")String msgTemp;@Value("${feige.message.msgSignId}")String msgSignId ;public String getFeigeUrl() {return feigeUrl;}public void setFeigeUrl(String feigeUrl) {this.feigeUrl = feigeUrl;}public String getMsgAccount() {return msgAccount;}public void setMsgAccount(String msgAccount) {this.msgAccount = msgAccount;}public String getMsgPwd() {return msgPwd;}public void setMsgPwd(String msgPwd) {this.msgPwd = msgPwd;}public String getMsgTemp() {return msgTemp;}public void setMsgTemp(String msgTemp) {this.msgTemp = msgTemp;}public String getMsgSignId() {return msgSignId;}public void setMsgSignId(String msgSignId) {this.msgSignId = msgSignId;}
}

运行,手机号自行更换

发送成功

飞鸽短信平台发送国际短信相关推荐

  1. 如何用短信平台发送自定义短信?

    我们经常会收到各类短信,如何用短信平台给用户发送自定义短信呢? 其实很简单,具体方法和步骤如下: 1.注册平台账号 以速盟云信短信平台为例,点击官网右上面的"注册"按钮,注册并登录 ...

  2. 谈到海外市场推广,别小觑蒲公英内测托管平台的国际短信服务

    在互联网企业关注跨境市场的大背景下,海外推广渠道的类型越来越复杂,Google.Facebook.Twitter.LinkedIn.TikTok联盟营销已经广为大家所知,其次就是SEM推广,比如谷歌的 ...

  3. 中国移动云MAS平台发送普通短信

    使用中国移动云MAS平台发送普通短信 步骤 1.输入用户名和密码登录中国移动云MAS业务平台. 下载用户操作手册 和 HTTP接口文档 深入了解云MAS 2.在中国移动云MAS业务平台的主页面,点击[ ...

  4. 网页版短信平台发送教程【图文】

    2021网页版短信平台发送教程[图文] 一.登录账户 在进行短信发送前,请先完成您的账户注册和配置,登录账号->短信->开通产品->根据需求购买事务类或通用运营类资源包. 详情如下图 ...

  5. 移动MAS短信平台发送短信

    MAS短信平台发送短信分为两种方式 参考文档下载 一.sdk调用 using mas.ecloud.sdkclient; using System;namespace 短信发送 {class Prog ...

  6. 使用web短信平台发送短信

    // 使用web短信平台发送短信 首先创建一个messgee.properties 文件, 文件内部写入用户名和密码 比如: #短信平台的账号和密码 cdkey=3ADK-YUH-0130-LGXQO ...

  7. 企业短信平台 php,梅州PHP短信平台企业,PHP短信平台

    梅州PHP短信平台企业,PHP短信平台 现如今,很多企业在短信验证码平台时,难免会遇到这样的问题"如何评判一家短信验证码平台",因为大多数企业不想换了又换,这样不仅浪费了金钱,而且 ...

  8. Java PHP Python实现短信验证码和国际短信群发功能

    最近由于公司的业务拓展,需要给国外用户发送国际短信,像西班牙.葡萄牙.意大利这些国家都要发,还有中国的香港.澳门.台湾(港澳台)这些地区也要发,不过现在已经有许多公司提供国际短信的业务了,之前使用过云 ...

  9. 通过短信猫发送手机短信

    wavecom短信猫常用AT命令 一.一般命令 1. AT+CGMI 给出模块厂商的标识. 2. AT+CGMM 获得模块标识.这个命令用来得到支持的频带 (GSM 900,DCS 1800 或PCS ...

最新文章

  1. 从计算机视觉的小白变为大神,你需要经历这七个阶段
  2. 文巾解题 1418. 点菜展示表
  3. python程序的输入输出(acm的几个小程序)
  4. Java中对象的三种状态
  5. LeetCode 889. 已知前序后序 求二叉树(不唯一)
  6. 关于TCP/IP协议及网络通信相关问题
  7. java core 生成路径_core文件生成和路径设置
  8. ionic 安卓apk签名_安卓 APP 三代加壳方案的研究报告
  9. hbase 协处理器 部署_hbase协处理器概念及知识点总结
  10. Star Schema完全参考手册学习笔记六
  11. 通用性好的win2003序列号: (推荐先用这个里面的)
  12. java 铁三车强度如何_骑行入门:铁三车与TT车,傻傻分不清楚?
  13. 黑马程序员2022新版python教程补充(P61)
  14. Android-悬浮窗功能的实现(附Java、KT实现源码,自学Android
  15. 控制计算机桌面图标,(1)在桌面上显示“计算机”“控制面板”图标,然后隐藏“控制面板”图标。...
  16. AoPS Volume 1 基础数论 总结
  17. mysql sql执行效率_一顿操作猛如虎,SQL执行效率提高250
  18. C语言拼图游戏——Windows下基于EasyX且支持鼠标与键盘操作
  19. (转)查看USB设备
  20. 小型企业服务器型号齐全,【一般小企业内部使用什么样子的服务器性价比比较高?】...

热门文章

  1. vue 使用正则判断邮箱格式是否正确 手机号 证件啥的都可以套用
  2. 弘辽科技:淘宝商家群是怎么划分层级的?
  3. 资源宝分享wordpress主题后门检测清理技巧
  4. Markdown博文快速转为微信文章
  5. 海量数据时代,磁带存储的“涅槃重生”
  6. 新的一年,那些晴耕小筑要填的坑
  7. Excel中IFs函数如何输出不满足条件下的内容
  8. 用PIL制作黑白滤镜
  9. WPF基础到企业应用系列8——依赖属性之“风云再起”
  10. freemarker模板生成word文档踩坑记录