springboot集成腾讯云短信服务:

(1)导入依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.vaadin.external.google</groupId>
<artifactId>android-json</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.6</version>
</dependency>

(2)将服务码等信息提取到全局配置文件

#短信应用 SDK AppID
tx.sms.appid=************* #短信应用 SDK AppKey
tx.sms.appkey=*********** #签名参数使用的是`签名内容`
tx.sms.smsSign=草莓树下的思考公众号 #短信模板 ID,需要在短信应用中申请
tx.sms.templateId=*********

(3)提取工具类

@Component
public class SmsUtil { @Value("${tx.sms.appid}")
private Integer appid; @Value("${tx.sms.appkey}")
private String appkey; @Value("${tx.sms.smsSign}")
private String smsSign; @Value("${tx.sms.templateId}")
private Integer templateId; public void txSmsSend(String phoneNumber,ArrayList<String> params) {
//7. 封装短信应用码
SmsSingleSender ssender = new SmsSingleSender(appid,appkey);
//地区,电话,模板ID,验证码,签名
try {
SmsSingleSenderResult result = ssender.sendWithParam(
"86", phoneNumber, templateId, params, smsSign, "", "");
//输出一下返回值
System.out.println(result);
} catch (HTTPException | JSONException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

(4)测试

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes=PhoneApp.class)
public class Test {
@Autowired
private SmsUtil sms; @org.junit.Test
public void test() {
String phoneNumber = "17609584519";
ArrayList<String> list = new ArrayList<>();
list.add("赵丽颖");
list.add("lyf");
list.add("2019-08-13"); sms.txSmsSend(phoneNumber, list);
}
}

结果截图:

可以看到:短信内容中有一段信息是乱码的

原因分析:

  是由于在application.properties配置文件中读取 tx.sms.smsSign信息时,由于属性值是汉字,编码格式不一致,导致的

解决方案:

方式一:将  tx.sms.smsSign信息在程序中进行设置,如下:

private String smsSign = "草莓树下的思考公众号";

方式二:在application.properties中定义,但是在传参时要进行编码转换

application.properties配置文件

#签名参数使用的是`签名内容`
tx.sms.smsSign=草莓树下的思考公众号

工具类:

@Value("${tx.sms.smsSign}")
private String smsSign;
smsSign = new String(smsSign.getBytes("ISO8859-1"), "UTF-8");

最终结果截图:

谢谢支持!!!

使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题的更多相关文章

  1. 轻松集成腾讯云短信服务实现短信发送(Java实现)

    不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (说点题外话,备案的话,需要 ...

  2. Python使用腾讯云-短信服务发送手机短信

    目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 国内短信支持操作: • 指定模板单发短信 • 指定模板群发短信 • 拉取短信回执 ...

  3. 腾讯云短信服务+Node.js给手机发送验证码

    最近公司需要些一个登陆验证和修改密码验证,需要用到验证码,我用Node.js写了一个给手机发验证码的代码,下面实现的功能有:生产验证码,(计时器)验证码失效时间,给手机发送短信. 首先看官方文档,在给 ...

  4. springboot 项目使用阿里云短信服务发送手机验证码

    1.注册阿里云账户进行账号实名认证 2.申请短信签名和模板 3.创建access_key和access_secret 4.然后就是代码编写 一.找到产品与服务里面的云通信模块,然后找到短信服务,开通短 ...

  5. thinkphp3.2.3集成腾讯云短信文档流程

    昨天晚上折腾了一个小时没解决 今天折腾了20分钟就搞定了 看了thinkphp3.2.3的命名空间解释方法  把文件放到这里 /ThinkPHP/Library/Org/ 把新建了一个Sms文件夹 把 ...

  6. 实现springboot对接腾讯云短信

    1,导入pom依赖 <dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>q ...

  7. 移动端获取短信验证码java实现——阿里云短信服务

    需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...

  8. 浏览器端获取短信验证码java实现——阿里云短信服务

    需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...

  9. java实现发短信功能---腾讯云短信

    目录 java实现发短信功能 前言 开发环境 腾讯云 ---短信 代码 效果 结束语 java实现发短信功能 前言 如今发短信功能已经成为互联网公司的标配,本篇文章将一步步实现java发送短信 考察了 ...

随机推荐

  1. Shiro密码加密

    Shiro密码加密 相关类 org.apache.shiro.authc.credential.CredentialsMatcher org.apache.shiro.authc.credential ...

  2. CPU-bound(计算密集型) 和I/O bound(I/O密集型)/数据密集型

    https://blog.csdn.net/q_l_s/article/details/51538039 I/O密集型 (CPU-bound)I/O bound 指的是系统的CPU效能相对硬盘/内存的 ...

  3. zzXDL

        Pull requestsIssues Marketplace Explore             Learn Git and GitHub without any code! Using ...

  4. cf1039D 分块

    cf1039D 链接 cf 思路 一次k可以贪心O(n)算. 对于\(≤\sqrt{n}\)的k,暴力算. 对于\(>\sqrt{n}\)的k,最多会有\(\sqrt{n}\)种答案,而且答案单 ...

  5. Visual Studio 2019(VS2019)下载极慢的问题

    今天给新电脑安装 vs2019,下载速度只有 TMD 10kb/s,实在忍无可忍,在经过了一系列的百度之后,找到解决方法. 具体方法很简单: 用站长工具查询了一下 download.visualstu ...

  6. C#程序只允许运行一个实例的解决方案

    最近在做winform的程序中,需要只能打开一个程序,如果已经存在,则激活该程序的窗口,并显示在最前端.在网上google了一哈,找到了很多的解决方案.这里我整理了3种方案,并经过了测试,现和朋友们分 ...

  7. myeclipse配置springmvc教程

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  8. [转帖]银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP

    银河麒麟Kydroid 2.0全新发布:原生支持海量安卓APP https://news.cnblogs.com/n/652299/将手机操作系统 转移到 桌面 跟chromebook 类似的策略吧 ...

  9. JSON.parse() 与 JSON.stringify()

    JSON.parse() 方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象.提供可选的reviver函数用以在返回之前对所得到的对象执行变换(操作). 语法 JSON.par ...

  10. Docker 快速安装&搭建 MongDB 环境

    欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...