开通短信服务
添加签名管理
添加模板管理
创建子AccessKey
阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议创建并使用RAM账号进行API访问或日常运维,请登录RAM控制台创建RAM账号。官网地址https://ram.console.aliyun.com/manage/ak
短信服务实践
官方文档https://help.aliyun.com/document_detail/101300.html?spm=5176.12207334.0.0.2b7d1cbeV25Xam
引入依赖
<dependencies>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
</dependencies>
发送短信核心代码
// 发送短信
@Override
public Boolean send(Map<String, Object> param, String phone) {
if (StringUtils.isEmpty(phone)) return false;
DefaultProfile profile = DefaultProfile.getProfile("default", "your_ak", "your_sk");
IAcsClient client = new DefaultAcsClient(profile);
// 设置相关固定的参数
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", "KeepOn在线视频网站");
request.putQueryParameter("TemplateCode", "SMS_205825004");
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param));
try {
CommonResponse response = client.getCommonResponse(request);
boolean success = response.getHttpResponse().isSuccess();
return success;
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return false;
}