创建一个配置类存储阿里云的一些配置
############### 阿里云短信发送 需要修改 ######################################
# 阿里云AK账号 临时使用 需要修改
config.access_key_id=******************************
# 阿里云AK密码 临时使用 需要修改
config.secret=******************************
# 短信签名 临时使用 需要修改
config.sign_name=******************************
# 用户使用的模板code 临时使用 需要修改
config.sms_template_code=******************************
写一个读取配置文件的配置类
package com.lemon.move.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
import java.util.regex.Pattern;
@Data
@Component
@PropertySource("classpath:config.properties")
@ConfigurationProperties(prefix = "config")
public class CommonConfig {
private String access_key_id;
private String secret;
private String sign_name;
private String sms_template_code;
}
写一个发送短信的工具类
package com.lemon.move.utils;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
import com.lemon.move.config.CommonConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
@Component
public class SMSUtils {
@Autowired
CommonConfig commonConfig;
public boolean sendSms(String phoneNum, String TemplateCode, String code) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",commonConfig.getAccess_key_id(),commonConfig.getSecret());
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", phoneNum);
request.putQueryParameter("SignName", commonConfig.getSign_name());
request.putQueryParameter("TemplateCode", TemplateCode);
HashMap<Object, Object> map = new HashMap<>();
map.put("code", code);
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response.getHttpResponse().isSuccess();
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return false;
}
}