$result = SmsFactory::factory($config)->sendSms('182xxxxxxxx', 'XXXX教练', 'SMS_xxxxxxx', [
'code' => 'asdf12'
]);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这个错误信息提示的是在尝试发送验证码短信时,参数格式不正确。具体来说,错误码isv.INVALID_PARAMETERS
和错误信息params must be [a-zA-Z0-9] for verification sms
指出用于验证短信的参数必须只包含大小写字母和数字。
在您的代码示例中:
$result = SmsFactory::factory($config)->sendSms('182xxxxxxxx', 'XXXX教练', 'SMS_xxxxxxx', [
'code' => 'asdf12'
]);
问题可能出在第二个参数 'XXXX教练'
,这是模板中的签名或者变量值。根据错误提示,这个部分应该只包含字母和数字。因此,如果'XXXX教练'
是作为短信签名的话,它不符合阿里云短信服务对于签名内容的要求。
解决方法: 1. 修改签名内容:确保短信签名仅使用字母(a-zA-Z)和数字(0-9)。如果“XXXX教练”是您想要展示的品牌或发送者名称,您需要将其调整为符合规范的格式,例如“XXXXJL”或类似的组合。
检查模板配置:确认在阿里云短信服务控制台中,该短信模板是否允许使用非字母数字字符作为变量或固定文本。如果是模板ID有误,也请检查并更正为正确的模板ID。
变量值检查:虽然报错没有直接指出变量值的问题,但同样确保传递给模板的所有变量值也遵循相同的规则,即只包含字母和数字。
综上所述,您需要登录阿里云控制台,对短信签名进行修改以满足要求,并相应地调整您的代码中涉及签名的部分。如果问题依然存在,建议详细检查与短信服务相关的所有配置,包括模板设置、签名管理等,或联系阿里云技术支持获取进一步帮助。