集成阿里云短信服务 ,以下是我集成阿里云短信服务成功收到短信的代码:
里面的一些内容需要改成你自己的阿里云配置
public class TestSms {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou",
"<accessKeyId>",
"<accessSecret>");//这两个地方写你的对应 Id 和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", "13100000000");
request.putQueryParameter("TemplateParam", "{\"code\":\"" + "123456" + "\"}");
//确定是的模版和签名
request.putQueryParameter("SignName", "这里填你申请的短信签名");
request.putQueryParameter("TemplateCode", "这里写你的模版code");
// RAM账号AccessKey Secret
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
如果一切正常上面的代码 就都搞定了,可以直接收取到短信。
遇到的问题1:签名不合法
解决办法:
1.检查你的 accessKeyId 和 accessSecret 是否都对了
2.检查你的 短信签名 和模版code 注意:模版code 是一串SMS_1995992 这样的数字,不要把模版名称填上了
3.编码问题,如果你的短信签名是中文的,改一下编码方式试试。(我的问题就出在这,我改成GBK编码方式就ok了)