美文网首页
【阿里云短信服务】模板不合法(不存在或被拉黑)

【阿里云短信服务】模板不合法(不存在或被拉黑)

作者: norkm | 来源:发表于2020-02-24 19:23 被阅读0次

    近一阵子,项目中的阿里云短信服务出现了问题,反复确认自己的签名、模板、密匙都是没有问题的,却还是一直返回下面这一段json,短信服务之前也是用过的,代码肯定没有问题,再将代码移植到一个新建的java项目main方法中,结果可以正常运行,手机能收到验证码,一旦部署到服务器,就是提示模板不合法。

    {
        "Message": "模板不合法(不存在或被拉黑)",
        "RequestId": "ea17e552-43ad-4d6d-aef8-26f04ebc3b3d",
        "Code": "isv.SMS_TEMPLATE_ILLEGAL"
    }
    

    最后发现是编码问题,之前项目从eclipse移到idea后,java源文件从UTF-8不知道怎么变成了GBK,最后将源文件编码改成UTF-8就没问题了。
    ( IDEA右下角会显示当前的编码 )


    我是这样解决的,希望可以帮到你。

    public class SendSms {
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "开发者密匙", "开发者密匙");
            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", "手机号码");
            request.putQueryParameter("SignName", "短信签名");
            request.putQueryParameter("TemplateCode", "短信模板");
            request.putQueryParameter("TemplateParam", "{\"code\":\"123456\"}");
            try {
                CommonResponse response = client.getCommonResponse(request);
                System.out.println(response.getData());
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                e.printStackTrace();
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:【阿里云短信服务】模板不合法(不存在或被拉黑)

          本文链接:https://www.haomeiwen.com/subject/nddiqhtx.html