使用阿里云提供的短信服务,实现根据手机号发送验证码的功能。
首先,导入maven依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>
传入手机号,以及要发送的验证码内容,调用该函数就可以实现验证码的发送
public static String sendSms(String phone,String code){
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"********x1S7yOby", "********T0csI9Bzdv");
IAcsClient client = new DefaultAcsClient(profile);
Map<String,String> map = new HashMap<>();
map.put("code",code);
CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST);
request.setSysDomain("dysmsapi.aliyuncs.com");
request.setSysVersion("2017-05-25");
request.setSysAction("SendSms");
request.putQueryParameter("RegionId", "cn-hangzhou");
request.putQueryParameter("PhoneNumbers", phone);
request.putQueryParameter("SignName", "*****");
request.putQueryParameter("TemplateCode", "SMS_186600241");
request.putQueryParameter("TemplateParam", JSONObject.fromObject(map).toString());
try {
CommonResponse response = client.getCommonResponse(request);
return response.getData();
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return null;
}
这里只是一个简单的demo,在这之前,还应该先在阿里云账号下进行一些配置,具体可参见
阿里云短信服务添加签名
阿里官方的demo参见
阿里短信服务使用Demo