本文档旨在帮助开发者快速定位、诊断并解决在使用阿里云短信服务过程中遇到的各类错误。内容涵盖从API调用、短信投递到状态回执的全链路错误码,并提供可执行的解决方案。
错误码概览与分类
本文内容较多,您可使用Ctrl/Command+F的方式查找指定错误码详情。
为精准定位问题,首先需要理解短信发送生命周期中不同阶段可能出现的错误码类型。
常见错误码:在调用
SendMessageToGlobe等 API 接口时,通过 HTTP 响应立即返回。这类错误码表明请求本身存在问题(如参数错误、权限不足),或者请求未被平台成功受理。回执状态码:在短信被平台受理后,通过异步回执消息或调用
SmsReport接口查询得到。这类状态码反映了短信从运营商到用户手机的最终投递结果(如成功、失败、被拦截)。SMPP回执错误码:仅在使用 SMPP 协议方式接入时出现,用于表示 SMPP 命令的执行结果或消息的最终状态,严格遵循 SMPP 3.4 协议规范。
常见错误码
API错误码 | SMPP错误码 | 描述 | 解决方案 |
OK | 20 | 请求成功。 | - |
INVALID_SENDERID | 25 | SenderID无效或未通过审核。 |
|
FORBIDDEN_ACTION | 26 | 用户接口降级。 | 请提交工单,恢复接口正常调用能力。 |
OUT_OF_SERVICE | 27 | 国际短信业务停机。 | - |
ACCOUNT_NOT_EXISTS | 29 | 账户信息不存在。 | 请确认是否开通短信服务且实名认证通过。 |
SMS_CONTENT_CODE_ILLEGAL | 31 | 短信内容不合法(不存在或被拉黑)。 | 登录国际短信控制台。在左侧导航栏,选择。检查审批状态。如果是“未通过”状态,请创建新内容。 |
SMS_SIGN_NAME_ILLEGAL | 32 | 签名不合法(不存在或被拉黑)。 | 登录国际短信控制台。在左侧导航栏,选择。确认使用的签名名称是否与审核通过的完全一致。如果签名是“未通过”状态,查看原因后,请重新申请新的签名。 |
MOBILE_NUMBER_ILLEGAL | 33 | 手机号码格式错误。 | 请校验号码格式准确性,重新提交到平台。 |
MOBILE_COUNT_OVER_LIMIT | 34 | 手机号码数量超过1000条。 | 调用BatchSendMessageToGlobe的接口时,单次请求的号码数量不能超过 1000 个。请分批调用。 |
CONTENT_MISSING_PARAMETERS | 35 | 短信内容变量缺少对应参数值。 | 请检查 |
INVALID_PARAMETERS | 36 | 输入的参数异常。 | 请检查参数配置,保证参数的准确性。 |
INVALID_JSON_PARAM | 42 | 参数为空,参数JSON串解析错误。 | 请检查参数配置,保证参数的准确性。 |
PARAM_LENGTH_LIMIT | 44 | 短信内容变量长度受限。 |
|
AMOUNT_NOT_ENOUGH | 45 | 账户余额或资源包不足。 | 请购买套餐包或者充余额。 |
SYSTEM_ERROR | 46 | 内部系统错误。 | 阿里云平台侧出现临时性错误。请稍后重试。若问题持续,请提交工单并提供 RequestId。 |
DATA_NOT_EXIST | - | 查询的短信记录不存在。 | 请稍后重试。 |
QPS_LIMIT_CONTROL | 48 | 到达系统QPS发送限制。 | 已达到单用户QPS上限,请根据调用情况合理调整QPS。 |
ONLINE_BILLING_FAILED | 49 | 国际短信在线计费失败或者内部系统错误。 | 国际短信在线计费系统繁忙,请稍后再试。 |
QUERY_DATE_ILLEGAL | 52 | 查询时间非法。 | 请检查参数配置,保证参数的准确性。 |
RAM_PERMISSION_DENY | 55 | RAM校验失败,用户权限不足。 | 请授权RAM调用接口全部的权限,重新尝试。 |
PRODUCT_NOT_SUBSCRIBED | 57 | 短信服务没未开通。 | 登录国际短信控制台。开通短信服务。 |
SMS_SECURITY_INTERCEPTED | 61 | 国际短信风控策略拦截。 | - |
SMS_CONTENT_ILLEGAL | 62 | 短信内容不合法。 | 请检查短信发送内容是否符合相关法规要求。 |
ACCOUNT_ILLEGAL | 63 | 账号由于发送非法内容被列入黑名单。 | - |
BLACK_KEY_CONTROL_LIMIT | 64 | 短信内容变量中包含黑名单关键字。 | 变量内容触发了平台的安全策略。请检查并修改变量中包含的敏感词或不合规内容。 |
NOT_SUPPORTED_COUNTRY | 65 | 暂不支持该国家的国际短信发送。 | - |
SENDERID_BLACKLISTED | 67 | 使用的Sender ID被风控策略拦截。 | - |
IMDA_COMPANY_REQUIRE_LOA | 68 | 使用的Sender ID需要报备IMDA。 | 请及时报备IMDA。 |
SYSTEM_LIMIT_CONTROL | 81 | 到达系统每日发送限制。 | - |
FREQUENCY_LIMIT_DAY | 83 | 到达单个号码每日发送频率限制。 | 请在控制台重新设置单个号码每日发送频率(上限20)。 |
ALERT_LIMIT_DAY | 84 | 到达用户每日发送限制。 | 请在控制台重新设置每日短信发送总量。 |
ALERT_LIMIT_MONTH | 85 | 到达用户每月发送限制。 | 请在控制台重新设置每月短信发送总量。 |
COUNTRY_TRAFFIC_LIMIT | 86 | 到达用户每日发送地区的限制。 | 请在控制台重新设置地区每日短信发送总量。 |
CONTENT_EXCEED_LIMIT | - | 内容字数超过系统最大限制。 | 请调整内容字数,字数大小限制在512k以内。 |
QUANTITY_INCONSISTENT | - | 号码发送数量(接口字段To)和文本内容(接口字段Message)数量不一致。 | 请确保号码发送数量和文本数量保持一致。 |
Specified AccessKeyId is not found | - | AccessKeyId不存在。 | 请检查您代码中配置的 AccessKeyId 是否正确、有效,且未被禁用。 |
回执状态码
错误码 | SMPP错误码 | 错误描述 |
success | 0 | 发送成功。 |
IN_SMS_CONTENT | 201 | 短信内容或长度错误。 |
INVALID_NUM | 202 | 无效接收号码。 |
INVALID_SENDERID | 203 | 无效Sender ID。 |
OPERATOR_NOT_SUPPORT | 204 | 运营商不支持该电话号码。 |
PHONE_NOT_AVAILABLE | 205 | 电话号码、手机不可用,或手机存储容量已满。 |
PORTED_NUM | 206 | 电话号码的运营商已更改。 |
RECEIVER_BLACKLIST | 207 | 接收号码被列入黑名单,被运营商阻止。 |
SYSTEM_ERR | 208 | 供应商系统异常。 |
SP_UNKNOWN_ERR | 209 | 消息发送失败。 |
URL_FAILURE | 210 | URL被列入黑名单。 |
expired | 211 | 由于客户手机长时间关机或停机,导致短信无法发送。 |
NO_VALID_SUPPLIER | 212 | 无新加坡IMDA合规供应商支持。 |
SMPP回执错误码
SMPP消息状态 | 最后的消息状态 | 描述 |
DELIVERED | DELIVRD | 消息发送至目的地。 |
EXPIRED | EXPIRED | 消息有效期已到期。 |
DELETED | DELETED | 消息已被删除。 |
UNDELIVERABLE | UNDELIV | 消息无法送达。 |
ACCEPTED | ACCEPTD | 消息处于接受状态。 |
UNKNOWN | UNKNOWN | 消息处于无效状态。 |
REJECTED | REJECTD | 消息处于拒绝状态。 |
更多信息,请参见SMPP协议规范V3.4。