依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.1.0</version>
</dependency>
阿里云控制台开通短信服务
utils
public class AliSmsUtils {
public static final String accesskey = "XXXXXXXX";
public static final String accessSecret = "XXXXXX";
/**
* SendSms接口是短信发送接口,支持在一次请求中向多个不同的手机号码发送同样内容的短信。
* @param mobile
* @param code
* @return
* @throws Exception
*/
public static JSONObject sendSms(String mobile, String code) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accesskey, accessSecret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("RegionId", "cn-hangzhou");
request.putQueryParameter("PhoneNumbers", mobile);
request.putQueryParameter("SignName", "曼品");
request.putQueryParameter("TemplateCode", "SMS_183745480");
JSONObject param = new JSONObject();
param.put("code", code);
request.putQueryParameter("TemplateParam", param.toJSONString());
//返回结果兼容旧接口格式
JSONObject result = new JSONObject();
try {
CommonResponse response = cli-ent.getCommonResponse(request);
log.info("ali_sms发送结果:{}", response);
JSONObject data = JSONOb-ject.parseObject(response.getData());
if (data.get("Code").equals("OK")) {
result.put("code", "0");
} else {
result.put("code", "1");
}
result.put("message", data.get("Message"));
} catch (ServerException e) {
log.error("ali_sms发送结果:{}", e.getMessage());
result.put("code", "1");
result.put("message", "发送失败");
} catch (ClientException e) {
log.error("ali_sms发送结果:{}", e.getMessage());
result.put("code", "1");
result.put("message", "发送失败");
}
return result;
}
}
run
public class test {
public static void main(String[] args) {
sendSms("151XXXXXXXX", "8888");
}
}
main(String[] args) {
sendSms(“151XXXXXXXX”, “8888”);
}
}