使用阿里云的短信服务中的测试专用签名模板时,我在使用swigger测试的时候,发送状态是成功的,同时我在redis中get我的手机号,也有验证码返回,问题是手机接收不到验证码。
...
代码:
@Override
public boolean send(Map<String, Object> param, String phone) {
if(StringUtils.isEmpty(phone))
return false;
DefaultProfile profile =
DefaultProfile.getProfile("cn-shanghai", "LTA******Hdr", "lzsX********gPx");
IAcsClient client = new DefaultAcsClient(profile);
// SendSmsRequest request = new SendSmsRequest();
// request.setSignName("阿里云短信测试");
// request.setTemplateCode("SMS_154950909");
// request.setPhoneNumbers(phone);
// request.setTemplateParam(JSONObject.toJSONString(param));
// 设置相关固定的参数
CommonRequest request = new CommonRequest();
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
//设置发送相关的参数
request.putQueryParameter("PhoneNumbers",phone); //手机号
request.putQueryParameter("SignName","测试专用模板"); //申请阿里云 签名名称
request.putQueryParameter("TemplateCode","SMS_154950909"); //申请阿里云 模板code
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param)); //验证码数据,转换json数据传递
try {
//最终发送
CommonResponse response = client.getCommonResponse(request);
boolean success = response.getHttpResponse().isSuccess();
return success;
}catch(Exception e) {
e.printStackTrace();
return false;
}
}
与答案无关,请记得千万不要在公开的位置上,分享你的 AK。
鉴于你已经把 AK 粘贴在这里了,请创建一个新的 AK 替代现在的 AK,然后尽快禁用并删除你的 AK,避免其他人通过你的 AK 创建资源。
针对您的情况,已查询回执,显示接收成功。
已有信息显示的流程没有问题。
您可以
1. 重新测试一次,尝试是否成功。
2. 留意是否被手机拦截。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。