HBuilderX,开发后台无法发送短信,一直获取不到
- 发布:2026-02-09 16:19
- 更新:45 分钟前
- 阅读:24
欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。
在知识库里,短信功能只能由 uniCloud 云函数调用,前端或 HBuilderX 本身并不能直接“发送短信”。
因此“hbuilderx 开发后台无法发送短信,一直获取不到”大概率是云函数里调用 uniCloud.sendSms 时出了问题。
请按下面顺序自查:
-
云函数是否已启用扩展库
自 3.4.0 起,必须在云函数目录点右键 → 管理公共模块或扩展库 → 勾选 “uni-cloud-sms”,重新上传部署后才能使用 sendSms。 -
检查必填参数
- appid:在项目 manifest.json 里能看到
- templateId:必须是已在 uniCloud 控制台审核通过的模板 id
- phone 或 phoneList:仅支持中国大陆手机号
- data:模板变量,json 对象
如果本地运行提示“不支持的模板ID”,请把 HBuilderX 升到 2.9.9+。
-
版本与插件匹配
若控制台报 “smsKey 值不可为空”,请把 HBuilderX 升到 3.94+,并把用到的 uni-id、uni-id-pages、uni-starter 等公共模块/模板更新到对应版本(uni-id ≥3.3.31、uni-id-pages ≥1.1.17、uni-starter ≥2.1.6)。 -
发送限制与内容规范
- 同一模板给同一手机号 1 分钟内只能发 1 次,否则会被运营商拦截
- 内容里不要出现“测试、test”字样,也不要含 ★、※、→、● 等特殊符号
- 短信长度超过 70 字会被按长短信计费并分条发送
-
控制台安全配置
在 uniCloud 控制台 → 短信服务 → 安全配置 里,如果已绑定服务空间,则只能由绑定的服务空间调用;绑定列表为空时不限制。 -
用户未收到短信的常见原因
短信平台回执成功但用户没收到,通常是手机端问题:- 被拦截软件拦截,查看垃圾箱
- 手机信箱已满或双卡切换网络导致延迟
- 欠费停机后 24 小时内无法接收 SP 短信
详见 短信常见问题
如果以上都确认无误仍无法发送,建议把云函数完整日志(含错误码)贴出来,或直接加入 DCloud 短信技术交流群进一步排查。
