You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SMPP发送SMS报错00000436:两类错误是否相同及代码查询

解答你的SMPP错误码疑问

Hey there, let's clear up your confusion and help you troubleshoot this issue:

核心问题:两个错误是同一个

绝对是同一个错误。这里的Negative response 00000436 found是jsmpp库把SMSC返回的错误包装成异常后的提示,而SMSC returned error code 0x00000436是这个错误码的十六进制写法(0x00000436和00000436是完全等价的,前者只是明确标注了十六进制前缀)。本质都是你的SMPP请求被SMSC拒绝,返回了这个特定错误码。

为什么在标准SMPP错误列表里找不到0x0436?

标准的SMPP 3.4/5.0规范定义的错误码里确实没有0x0436,这个属于运营商或SMSC厂商自定义的私有错误码——很多服务商都会在标准码之外扩展自己的错误码体系,用来标识他们系统内部的特定问题(比如号码格式校验不通过、短信内容违规、账户配额不足、路由故障等等)。

下一步排查建议

  • 优先联系你的SMSC服务商:直接对接他们的技术支持,索要他们的自定义错误码文档,这是最快搞清楚错误原因的方式,只有他们知道0x0436具体代表什么问题。
  • 检查你的请求参数是否有明显错误:
    • 注意到你代码里写了TypeOfNumber.INTERNATIONAL.ALPHANUMERIC,这明显是枚举值使用错误!TypeOfNumber是枚举类,INTERNATIONAL和ALPHANUMERIC是两个独立的枚举常量,不能链式调用,应该根据实际场景选其中一个(比如发送方是字母数字短号就用ALPHANUMERIC,是国际号码就用INTERNATIONAL),这个参数错误很可能触发SMSC的错误返回。
    • 核对接收号码(mtport)和发送号码(sentNumber)的格式:确认是否符合SMSC要求,比如国际号码是否加了国家码前缀,有没有多余的符号(比如空格、横杠)。
    • 检查GeneralDataCoding的设置:如果你的短信包含非ASCII字符(比如中文),要确保编码设置正确(比如用GeneralDataCoding(0x08)代表UTF-16,或者对应GSM 03.38的编码),编码不匹配也可能被SMSC拒绝。
  • 开启jsmpp的调试日志:配置日志框架(比如Logback、Log4j)打印jsmpp的DEBUG级日志,这样能看到完整的SMPP请求和响应报文细节,有助于进一步定位问题。

内容的提问来源于stack exchange,提问作者thatGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:08:11