【"复制粘贴直接用"Java工具,希望对大家的项目开发有所帮助,话不多说了,直接上步骤和代码】
添加依赖
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.1.0</version> </dependency>
阿里云控制台开通短信服务
工具类
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; } }
运行
public class test { public static void main(String[] args) { sendSms("151XXXXXXXX", "8888"); } }
效果截图