配置
全部配置成功后可以获取到对应的模版code
pom.xml
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-green</artifactId>
<version>3.6.6</version>
</dependency>
AliSms
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;
/**
* 阿里云短信工具类
* aliyun-java-sdk-core.jar
*/
public class AliSms {
private static final String tpl = "SMS_xxxxxxx";
// 支付成功通知模版
private static final String pay_success = "SMS_xxxxxxx";
// 入驻审核通知模版
private static final String settle_in = "SMS_xxxxxx";
// 下单成功提醒(商户)模版
private static final String merchant_remind = "SMS_xxxxx";
// 短信签名
private static final String sign = "配置的签名名称1";
private static final String notice = "配置的签名名称2";
// 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
private static final String accessKeyId = "xxxxxxxxxx";
private static final String accessKeySecret = "xxxxxxxxxxxxx";
public static void main(String[] args) {
sendMsg("173xxxxxxxx", pay_success,"{\"no\":\"" + "544354134651215" + "\"}");
}
/**
* 发送验证码
*
* @param phone
* 手机号
* @param code
* 验证码
*/
public static CommonResponse sendCode(String phone, String code) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
// request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2024-04-02");
request.setAction("SendSms");
request.putQueryParameter("RegionId", "cn-hangzhou");
request.putQueryParameter("SignName", sign);
request.putQueryParameter("PhoneNumbers", phone);
request.putQueryParameter("TemplateCode", tpl);
request.putQueryParameter("TemplateParam", "{\"code\":\"" + code + "\"}");
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response;
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return null;
}
/**
* 订单支付发送短信通知
* @param phoneNumbers
* @param templateParam
* @param type 1:支付成功通知模版 2:入驻审核通知 3:下单成功提醒(商户)
* @return
*/
public static CommonResponse sendPaySuccessMsg(String phoneNumbers,String templateParam,String templateParam2,Integer type) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
// request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2024-04-02");
request.setAction("SendSms");
request.putQueryParameter("RegionId", "cn-hangzhou");
request.putQueryParameter("SignName", notice);
//TemplateParam为配置的参数名称
if(type==1){
request.putQueryParameter("TemplateCode", notice);
request.putQueryParameter("TemplateParam", "{\"no\":\"" + templateParam + "\"}");
}else if(type==2){
request.putQueryParameter("TemplateCode", settle_in);
request.putQueryParameter("TemplateParam", "{\"result\":\"" + templateParam + "\",\"date\":\""+templateParam2+"\"}");
}else if(type==3){
request.putQueryParameter("TemplateCode", merchant_remind);
request.putQueryParameter("TemplateParam", "{\"no\":\"" + templateParam + "\"}");
}
request.putQueryParameter("PhoneNumbers", phoneNumbers);
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response;
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return null;
}
/**
* 后台发送短信
*
* @param phoneNumbers
* 手机号
* @param templateCode
* 短信模板
*/
public static CommonResponse sendMsg(String phoneNumbers,String templateCode,String templateParam) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
// request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2024-04-02");
request.setAction("SendSms");
request.putQueryParameter("RegionId", "cn-hangzhou");
request.putQueryParameter("SignName", notice);
request.putQueryParameter("PhoneNumbers", phoneNumbers);
request.putQueryParameter("TemplateCode", templateCode);
request.putQueryParameter("TemplateParam", templateParam);
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response;
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return null;
}
}