开发者社区 问答 正文

新创建的验证码短信模板无法发送,旧的模板正常使用。

使用的是Java SDK

短信是验证码短信。

2017年创建的模板能够正常发送 工单号: 76840091    
2019年创建的模板无法使用 工单号:120606713   反馈 :isv.INVALID_PARAMETERS
两个模板均只包含一个${code} 

展开
收起
sheldonlin 2019-02-19 21:35:25 675 分享 版权
阿里云 AI 助理回答

原因分析:

  1. 问题描述:用户遇到的问题是2019年创建的短信模板无法使用,发送时收到错误反馈isv.INVALID_PARAMETERS,而2017年创建的模板能够正常发送。两个模板都只包含一个变量${code}

  2. 可能原因

    • 模板配置差异:尽管两个模板都含有${code}变量,但可能存在其他配置细节不同,如签名、模板内容或参数格式不满足API要求。
    • 权限与授权问题:新模板可能未正确授权给当前使用的RAM用户,或者模板状态未激活。
    • 参数传递错误:在调用SDK发送短信时,传入的templateParams与模板实际需要的参数格式不匹配。

解决方案:

  1. 检查模板配置

    • 确认2019年模板的内容、签名是否与2017年模板有本质区别,特别是是否符合阿里云短信服务的规则和限制。
    • 登录阿里云控制台,检查该模板的状态是否为“已审核”且未过期。
  2. 验证权限设置

    • 确保RAM用户拥有访问此模板的权限(策略AliyunDysmsFullAccess已正确赋予)。
    • 检查环境变量中设置的AccessKey ID和AccessKey Secret是否属于有权访问该模板的RAM用户。
  3. 核对参数传递

    • 在Java SDK调用中,确保setTemplateParam方法中的JSON字符串格式正确无误,且与模板定义的变量名完全一致。例如,如果模板只有一个变量${code},则应为"{\"code\":\"实际验证码\"}"
  4. 查看工单详情

    • 回顾工单号76840091和120606713的处理记录,查找官方对于isv.INVALID_PARAMETERS的具体解释和建议解决步骤。

重要提示: - 模板审核状态:确保所有使用的短信模板都已经通过阿里云的审核流程并处于可用状态。 - 参数严格匹配:在代码中填充的模板参数必须精确对应模板设计时的变量名称和格式。

示例代码回顾:(假设模板参数匹配且其他配置正确)

.setTemplateParam("{\"code\":\"实际验证码\"}")

请按照上述步骤逐一排查并修正问题,若问题依旧,请考虑重新提交工单获取更详细的错误分析与指导。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答