主要用途
- 自动化应用或服务的短信通知(例如NAS)
个人开发测试短信验证码等流程
准备工作
- 闲置安卓手机(Android 7.0 及更高版本)
- 带有 SIM 卡具备短信发送能力
- 连接 Wi-Fi 以便本地设备访问本机
方法一:Traccar SMS Gateway(推荐)
安装 Taccar SMS Gateway
安装 Traccar SMS Gateway 应用,推荐通过 Google Play 安装,或者选择自己喜欢的应用市场安装。
启用 Local Service
打开应用后,进入设置 > 通用 > Gateway > configuration > LOCAL SERVICE,启用Enable service。
LOCAL SERVICE 提供了一个 Token 以及网关接口 Endpoints,示例如下。
Token
bbcb9958-864c-4048-aeb0-a60fafb46c78
Endpoints
http://192.168.88.21:8082
测试接口
测试接口需要一个可以发送 POST 请求的工具,例如 Postman。我在使用 macOS,如果你也是,并且喜欢使用终端,推荐使用 HTTPie,可以通过 Homebrew 安装。
通过浏览器直接访问接口,会返回请求数据格式说明。
Send SMS using following API:
POST /
{
"to": "+10000000000",
"message": "Your message"
}发送一条测试短信,需要带上 Token,如果一切顺利,接口返回状态码200,在等待几秒后你将会收到这条短信。
http POST http://192.168.88.21:8082 \
Authorization:bbcb9958-864c-4048-aeb0-a60fafb46c78 \
to=13012346789 \
message=Hello方法二:Simple SMS Gateway
安装 Simple SMS Gateway
同样的,推荐通过 Google Play 或者自己喜欢的应用市场安装。
启用 Server
打开软件后,点击Start按钮启动服务。
测试接口
应用内提供了接口地址,以及应该如何发送请求,使用 POST 和 JSON 发送请求。如果一切顺利,接口返回状态码200,在等待几秒后你将会收到这条短信。
http http://192.168.88.21:8080/send-sms \
phone=13012345678 \
message=Hello除此外,服务还提供了两个接口,分别为status和health获取服务状态。
http http://192.168.88.21:8080/status
HTTP/1.1 200 OK
content-length: 93
content-type: application/json
{
"ip": "192.168.88.21",
"port": 8080,
"status": "online",
"timestamp": "2025-11-13T02:28:35.839954"
}http http://192.168.88.21:8080/status
HTTP/1.1 200 OK
content-length: 93
content-type: application/json
{
"ip": "192.168.88.21",
"port": 8080,
"status": "online",
"timestamp": "2025-11-13T02:28:40.139795"
}总结
目前这两个应用是我觉得比较简单能够实现核心功能的软件。
Traccar SMS Gateway 会接替系统默认短信应用。启用网关服务后,会以前台服务运行,在通知栏显示一个持续的通知,这使得服务不容易被系统杀死。网关服务需要全权限验证,安全性更高。
Simple SMS Gateway 更为简洁,启用网关服务后,运行在后台模式,需要保证应用不被系统杀死。网关服务不需要权限验证。
还有非常重要的是 Traccar SMS Gateway 不支持中文消息,Simple SMS Gateway 支持。