做的项目是物流仓库管理,要实现的功能是在货物入库或出库时给客户发送一条提示短信。
踩了几个大厂服务的坑,要么就是审核条件太严格要么是动辄几百花费太高,对于一个学习项目来说不是很友好。最后选用的是榛子云短信息服务:榛子云
注册后进入。
一、查看ID和密钥(编码要用到)
二、更改短信模板
创建你要发送什么短信。以我们的物流仓库系统为例:其中{1}{2}为可替换的参数内容,可以替换为“客户xxx(姓名),您的(入库/出库)业务办理成功”。然后就是等待审核(流程较慢),先进行后面的编码工作。 (注意踩坑,个人账户不能用【】,会被识别为签名敏感词)
查看短信模板的id(编码要用到)
三,导入服务依赖。
由于本项目使用springboot搭建,在pom.xml里加入如下依赖:
<!--榛子云短信包-->
<dependency>
<groupId>com.zhenzikj</groupId>
<artifactId>zhenzisms</artifactId>
<version>2.0.2</version>
</dependency>
导入后用maven下载一下即可。(那个左上的下载图标)
四、编写短信发送方法
public static void send(String phoneNumber,String customerName,String action) {
// 使用自己的 AppId 和 AppSecret
ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "id的字符串", "密钥字符串");
Map<String, Object> params = new HashMap<>();
params.put("number", phoneNumber);
// 修改为自己的templateId
params.put("templateId", "模板id");
String[] templateParams = new String[2];//模板中的参数,本例有两个
templateParams[0] = customerName;//参数一替换为客户姓名
templateParams[1] = action;//参数二替换为入库或出库操作
params.put("templateParams", templateParams);
try {
String result = client.send(params);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
}
调用方法即可实现短信发送服务。