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

2020-02-24  本文已影响0人  norkm

近一阵子,项目中的阿里云短信服务出现了问题,反复确认自己的签名、模板、密匙都是没有问题的,却还是一直返回下面这一段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();
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读