---
title: "什么是短信网关？工作原理、类型与选择方法"
description: "什么是短信网关？了解一条短信如何从您的应用到达手机，网关的类型（API、SMPP、邮件转短信、GSM 调制解调器）、核心功能以及选择方法。"
canonical: "https://omnichannels.ai/zh/blog/what-is-sms-gateway/"
language: "zh"
updated: "2026-11-03"
publisher: "BroadNet Technologies"
brand: "OmniChannels.ai"
category: "sms"
primaryQuery: "what is an sms gateway"
keywords: ["什么是短信网关", "短信网关 API", "短信网关和短信 API 的区别", "SMPP 网关", "短信网关工作原理", "GSM 猫池短信网关", "邮件转短信网关", "群发短信网关"]
published: "2026-11-03"
author: "OmniChannels.ai Editorial Team"
reviewer: "BroadNet Messaging Solutions Team"
readingMinutes: 10
answer: "短信网关是在您的应用与移动网络之间转换短信的系统。您的软件通过 HTTP API 或 SMPP 提交短信，网关会检查号码、选择编码和路由、拆分长短信，并交给运营商的短信中心（SMSC），再由其投递到手机。送达回执随后原路返回，让您看到投递结果。"
takeaways: ["短信网关位于您的应用与运营商 SMSC 之间，负责路由、编码、分段、吞吐量控制和送达回执。", "目前有四类网关：HTTP API 网关、SMPP 网关、邮件转短信网关，以及硬件 GSM 调制解调器或 SIM 卡箱（SIM box）网关。企业级 A2P 流量应使用与运营商直连的软件网关。", "短信 API 是网关前端面向开发者的接口，而 SMPP bind 是用于大批量发送的持久连接。", "通过 SIM 卡发送企业流量可能导致发件人 ID 丢失、短信延迟、阿拉伯语文本乱码以及被拦截，因为它绕过了运营商的商业协议。", "选择网关时，应按国家查看路由类型、送达回执质量、发件人 ID 处理、吞吐量和编码支持，并在转移业务量之前用您自己的号码做一次测试。"]
faq: 
  - q: "简单来说，短信网关是什么？"
    a: "短信网关是把短信从您的软件送入移动网络的系统。您通过 API 或 SMPP 把短信交给它，它负责号码检查、编码、拆分、路由和送达报告。没有网关，您就需要与每一家想要触达的移动运营商分别建立连接。"
  - q: "短信网关和短信 API 有什么区别？"
    a: "短信 API 是开发者调用的接口，通常是基于 HTTPS 的 JSON。网关则是其背后把短信路由到运营商的平台。同一家服务商通常两者都提供，SMPP 则是接入同一个网关的另一种方式。人们说“网关 API”时，指的就是让您的软件接入网关基础设施的那个 API。"
  - q: "短信网关是如何工作的？"
    a: "您的应用提交短信，网关校验号码，选择 GSM-7 或 UCS-2 编码，附上发件人 ID，拆分长短信，然后通过 SMPP 或其他接口发送给运营商的 SMSC。SMSC 再投递到手机。送达回执返回后，网关把它映射为已送达或失败等状态。"
  - q: "短信网关和 SMSC 是一回事吗？"
    a: "不是。SMSC 是运营商移动网络内部的存储转发中心，会保存并重试短信，直到送达或过期。网关则是您的系统与一家或多家运营商之间的一层。有些网关直接连接运营商的 SMSC，有些则通过聚合商路由。"
  - q: "可以把 GSM 调制解调器或 SIM 卡箱当作短信网关吗？"
    a: "从技术上说可以，用于用自己的 SIM 卡发少量类似个人对个人的短信。但用于企业流量并不合适：容量有限，发件人 ID 选项很差，运营商还可能识别并拦截基于 SIM 卡的 A2P 流量。验证码、告警和营销活动请使用与运营商连接的网关，并在签约前确认路由类型。"
  - q: "选择短信网关时应该看什么？"
    a: "要询问路由是否直连运营商、送达回执从哪里获取、在要求登记的国家如何登记发件人 ID、支持哪些编码、吞吐量如何约定、故障切换如何运作，以及能否用您自己的号码测试。避免只根据单条短信的价格做决定。"
sources: 
  - title: "SMPP Protocol Specification v3.4, Issue 1.2 (12 October 1999), SMPP Developers Forum"
    url: "https://smpp.org/SMPP_v3_4_Issue1_2.pdf"
  - title: "3GPP TS 23.040: Technical realization of the Short Message Service (SMS)"
    url: "https://www.3gpp.org/ftp/Specs/archive/23_series/23.040/"
---

# 什么是短信网关？工作原理、类型与选择方法

Canonical: https://omnichannels.ai/zh/blog/what-is-sms-gateway/
Language: zh
Publisher: OmniChannels.ai by BroadNet Technologies

本指南面向需要了解应用与客户手机之间到底有什么的开发者、产品负责人和运营负责人。您将了解一条短信经过的路径、网关的类型、重要的功能，以及如何发送第一条测试短信。

## 什么是短信网关？

短信网关是在应用与移动网络之间转换短信的系统，负责路由、编码、分段和送达回执。它是您的软件与向手机投递短信的运营商之间的转换层。

这个词有两种用法。它可以指连接多家运营商的服务商平台，也可以指把一家公司的系统连接到服务商的软件和硬件。我们的[短信网关术语条目](/zh/glossary/sms-gateway/)给出了简短的定义。

有两个相近的术语经常与它混淆：

- **SMSC（短信中心）：** 运营商自己网络中负责存储、转发和投递短信的网元。3GPP TS 23.040 称之为 Service Centre。参见 [SMSC](/zh/glossary/smsc/)。
- **短信 API：** 网关前端面向开发者的接口。参见[短信 API](/zh/glossary/sms-api/)。

网关就是它们之间的路由和转换层，同一家服务商可以同时扮演网关、API 服务商和聚合商的角色。

## 一条短信如何经过短信网关？

短信从您的应用到网关，再从网关到运营商的 SMSC，最后从 SMSC 到手机，送达回执则沿同一路径返回。以下是逐步的过程。

1. **您的应用提交短信。** 它调用 HTTP 端点或发送 SMPP `submit_sm`，附带目标号码、发件人 ID 和文本。
2. **网关校验并规范化。** 它检查号码格式，应用各国规则，并可能查询号码。
3. **选择编码。** 纯拉丁文本使用 GSM-7，单段 160 个字符。阿拉伯语等其他文字需要 UCS-2，单段 70 个字符。中文同样是 Unicode，单条为 70 个字符，超长则按每段 67 个字符拆分。我们的[短信字符限制指南](/zh/blog/sms-character-limits-unicode-arabic/)说明了这会如何影响费用和长度。
4. **拆分长短信**为多个分段，手机会把它们重新拼合。
5. **选择路由**，对应目标网络，并在要求时附上已登记的发件人 ID。
6. **排队以遵守吞吐量，** 避免超过运营商约定的上限。
7. **交给运营商的 SMSC，** 通常通过 SMPP。
8. **SMSC 投递。** 它向网络查询用户的位置并转发短信。如果手机关机，它会保存短信并重试，直到有效期结束。
9. **送达回执返回。** 网关把它映射为一个状态，并推送到您的 webhook。

SMSC 的第一次响应只表示它接受了这条短信，回执才会在之后说明实际发生了什么。收到“已接受”响应但没有回执的短信，既不能算已送达，也不一定是失败。我们的[消息投递状态](/zh/blog/message-delivery-status-explained/)指南解读了各种状态。

## 短信网关有哪些类型？

常用的有四种，它们在连接方式以及是否适合企业流量方面各不相同。

| 类型 | 连接方式 | 典型用途 | 是否适合 A2P 流量 |
|---|---|---|---|
| HTTP API 网关 | 带 JSON 或表单数据的 HTTPS 请求，外加 webhook | 应用、验证码、通知、营销 | 适合 |
| SMPP 网关 | 持久的 TCP 会话（bind） | 大批量发送、转售商、使用 SMPP 客户端的企业 | 适合 |
| 邮件转短信网关 | 向特定地址发送邮件或通过网页表单 | 只能发邮件的旧系统和工具 | 有限：对编码、发件人 ID 和回执的控制很少 |
| 硬件 GSM 调制解调器或 SIM 卡箱 | 由软件驱动设备中的 SIM 卡 | 小范围本地测试、用自己 SIM 卡发的一次性提醒 | 不适合企业 A2P |

### API 网关

API 网关是通常的选择。您的代码发起一次 HTTPS 调用并收到消息 ID，平台则把状态发送到 webhook。它是无状态的，用标准工具就很容易调试。cURL、Node.js、Python 和 PHP 的写法请参阅我们的[短信 API 示例](/zh/blog/send-sms-api-examples/)。

### SMPP 网关

SMPP（Short Message Peer-to-Peer）是基于 TCP 的开放二进制协议，应用（称为 ESME）和服务商用它与 SMSC 交换短信。3.4 版部署最广；我们引用的规范是 1999 年 10 月 12 日的 Issue 1.2。会话以 transmitter、receiver 或 transceiver 身份的 bind 开始。客户端用 `submit_sm` 发送短信，并以 `deliver_sm` 接收上行短信和送达回执，`enquire_link` 用于保持会话存活。每个请求都带有序列号，因此可以同时有许多请求在途，这正是 SMPP 在大批量时高效的原因。

如果您已经在运行 SMPP 软件或发送量很大，请选择 SMPP。我们的[短信 API 与 SMPP 对比](/zh/blog/sms-api-vs-smpp/)指南比较了两者，[SMPP bind](/zh/glossary/smpp-bind/) 条目则解释了各种会话类型。

### 邮件转短信网关

它们让只能发送邮件的系统也能发出短信。对于旧系统很方便，但可控性很低：编码、发件人 ID 规则和送达报告通常都很有限。请仅将其作为权宜之计，并在每个国家测试送达情况。

### 硬件 GSM 调制解调器和 SIM 卡箱

调制解调器或 SIM 卡箱装有 SIM 卡，像普通手机一样发送短信。发少量短信可以，但用于企业 A2P 流量则存在下文所述的实际风险。

## 为什么企业短信不应通过 SIM 卡箱发送？

基于 SIM 卡的发送绕过了运营商的商业协议，因此流量可能被延迟、改号或被拦截。在消息行业，这正是许多灰色路由背后的手法。

我们的 [SIM 卡箱欺诈](/zh/glossary/sim-box-fraud/)条目和[灰色路由](/zh/blog/grey-route-vs-direct-route-sms/)文章描述了其症状：

- 企业短信从一个随机的本地手机号码发来，而不是已登记的发件人 ID。
- 短信延迟到达、丢失阿拉伯语编码，或在运营商识别出这些 SIM 卡时被拦截。
- 送达回执可能不可靠，甚至由网关伪造。
- 阿联酋和沙特阿拉伯等市场的发件人 ID 登记规则得不到满足。

发送短信的企业承担这些风险，却往往看不到。价格过低是一个警示信号。请询问每个目的地的路由类型，并用您自己的号码测试。

## 短信网关应具备哪些功能？

好的网关能可靠地处理那些枯燥的环节：送达回执、编码、吞吐量和发件人 ID。比较各个方案时，请使用这份清单。

| 功能 | 为什么重要 | 应当询问的问题 |
|---|---|---|
| 与运营商直连 | 跳数更少，送达更好，可追溯 | 哪些目的地是直连，哪些经由合作伙伴？ |
| 送达回执和 webhook | 您需要知道发生了什么 | 回执来自哪里，各个状态对应什么？ |
| 发件人 ID 处理 | 许多国家要求或限制 | 谁负责提交登记，被拒绝时会怎样？ |
| Unicode 和阿拉伯语支持 | 阿拉伯语需要 UCS-2，分段更短 | API 在发送前会计算分段数吗？ |
| 吞吐量控制 | 防止过载和被限流 | 每个账号的发送速度如何约定？ |
| 号码查询 | 清洗名单并支持路由 | 发送前能检查号码吗？参见 [HLR 查询](/zh/blog/hlr-lookup-number-validation/) |
| 故障切换 | 路由可能出故障 | 某条路由质量下降时会怎样？ |
| 双向短信 | 回复、退订和对话 | 客户能回复吗，回复发往哪里？ |
| API 和 SMPP | 与您的系统匹配 | 两者是否在相同路由上都提供？ |
| 定时和批量任务 | 营销活动 | 能上传文件并定时发送吗？ |
| 防欺诈控制 | 防范短信盗刷（SMS pumping） | 有哪些限制和告警？参见[防范短信盗刷](/zh/blog/sms-pumping-fraud-prevention/) |

## 如何选择短信网关？

先确定您的流量，再在转移业务量之前用您自己的号码测试路由。请按以下顺序进行。

1. **列出目的地和流量类型：** 验证码、告警和促销的表现各不相同，通常需要分别登记。
2. **使用免费的[发件人 ID 检查器](/zh/tools/sender-id-checker/)核对各国**的发件人 ID 规则。
3. **决定用 API 还是 SMPP。** 大多数应用使用 API，发送量很大的用户会再加上 SMPP。
4. **询问每个国家的路由类型，** 以及送达回执的来源。
5. **用您自己已验证的号码**在每个目标国家做一次测试。检查到达时间、发件人显示、阿拉伯语渲染和回执。
6. **审阅支持与升级渠道，** 包括短信停发时应该联系谁。
7. **阅读商务条款，** 包括发件人 ID 登记和价格如何报价。我们的[群发短信服务商检查清单](/zh/blog/choose-bulk-sms-provider/)有更详细的说明。

免费的[消息服务商招标工具包](/zh/tools/messaging-provider-rfp-kit/)可以把这份清单转化为向供应商提出的问题。

## 如何连接短信网关并发送第一条短信？

申请测试权限，安全保存令牌，调用发送端点，并在 webhook 上接收送达状态。BroadNet 没有即时自助注册，所以第一步是一次简短的权限申请。

1. **申请测试权限。** [告诉我们](/zh/demo/)您的渠道、目的国家、预计发送量和使用场景。工程师会发放测试凭证，并验证您将用于测试的号码。
2. **把令牌保存**在服务器的环境变量中，例如 `BROADNET_TOKEN`。
3. **发送短信：** 向 `https://api.broadnet.me` 发起 `POST /sms/sendSms`，并使用请求头 `Authorization: Bearer <token>`。
4. **在您的 HTTPS webhook 上接收状态。** 状态包括 SUBMITTED、SENT、DELIVERED、READ、FAILED 和 REJECTED。请处理重复和乱序的事件。

```bash title="cURL"
curl -X POST https://api.broadnet.me/sms/sendSms \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "senderId": "OmniDemo",
    "destinationNumber": "447700900123",
    "message": "Your OmniDemo code is 482913",
    "messageType": "TEXT"
  }'
```

包含 Node.js、Python 和 PHP 的完整教程见[开发者快速入门](/developers/quickstart/)、[短信 API 参考](/developers/sms/)和 [webhook 指南](/developers/webhooks/)。SMPP 的 bind 按账号开通并使用 TLS；参见 [SMPP 连接](/developers/smpp/)。

## 使用短信网关时常犯哪些错误？

大多数问题源于对送达和路由的想当然，而不是 API 调用本身。

- **把“已接受”当作“已送达”。** 请等待回执。
- **忽视编码。** 一个阿拉伯语字符就能让短信切换为 UCS-2，并缩小分段大小。请使用[短信字符计数器](/zh/tools/sms-character-counter/)。
- **在要求登记的国家跳过发件人 ID 登记。**
- **只看价格购买。** 便宜的路由可能意味着灰色路由。
- **验证码和促销短信走同一条路由，** 没有分开。
- **没有规划故障切换。** 请问清楚路由质量下降时会怎样。
- **跳过防欺诈控制。** 不受保护的验证码端点会招来短信盗刷。

## 实际案例：迪拜的一款配送应用

“Rahal Express”是迪拜一款虚构的配送应用，它会发送登录验证码、司机即将到达的提醒和每周促销。他们最初的网关是旧工具里内置的邮件转短信桥接。验证码有时在会话过期后才到达，阿拉伯语姓名出现乱码，应用也没有任何送达状态。

他们改用 API 网关：应用调用短信端点，在需要的地方登记发件人 ID，阿拉伯语文本在发送前按 UCS-2 分段计数，状态则返回到 webhook，这样客服团队就能看到失败。验证码和促销流量使用各自独立的营销活动和发件人 ID。在转移业务量之前，他们在每个目的地用自己的号码做了测试。结果没有任何神奇之处：送达可见、文本正确，每条短信都有明确的负责人。

## OmniChannels.ai 如何提供帮助

OmniChannels.ai 通过 BroadNet 的运营商直连发送 A2P 短信，支持双向短信、发件人 ID、群发、Unicode 和阿拉伯语、HLR 号码查询，以及面向大批量的 SMPP 3.4。位于 `api.broadnet.me` 的 REST API 以统一的 webhook 格式报告送达状态，我们的团队会与您一起准备并提交发件人 ID 登记。测试权限限于您自己已验证的号码。[申请权限](/zh/demo/)或阅读[开发者文档](/zh/developers/)即可开始。
