配置
全部配置成功后可以获取到对应的模版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;}
}