这里的签名名称和模版CODE下面会用到
新建用户(它会给你一个ak 密钥 一定要保存下来 ,只出现这一次)
这里就是下面代码中需要用到的AccessKey ID和AccessKey Secret
这里有不同语言的代码,以及重要参数:
导入阿里云maven坐标:
<!--阿里云短信服务-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.3</version>
</dependency>
写个工具类,方便以后使用:
package com.ld.utils;
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;
public class SmsUtil {
public static void main(String[] args) {
sendSms("输入接收短信的手机号","输入四位数的验证码");
}
public static String sendSms(String phoneNumber,String code){
//默认配置项
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "使用上面的AccessKey ID", "使用上面的AccessKey Secret");
//客户端对象
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", phoneNumber); //手机号
request.putQueryParameter("SignName", "使用上面添加的签名名称");//签名名称
request.putQueryParameter("TemplateCode", "使用上面添加的模板CODE");//模版CODE
request.putQueryParameter("TemplateParam", "{\"code\":\""+code+"\"}");//请JSON格式字符串为模板变量赋值
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return null;
}
}
程序写好后,发短信是收费的,¥ 0.045000/条,可以先充值点做测试用
控制台显示如下图,表示发送成功:
已经收到短信验证码:
注意:我这里只是一个本地测试,后期会在登录验证模块用到