# EMQX接入 Server酱：MQTT 消息推送到微信（2026 教程）

> 通过 EMQX 规则引擎与 HTTP 桥接，将匹配的 MQTT 消息实时推送到微信，实现 mqtt 告警微信通知。

- 网页版：https://sct.ftqq.com/docs/integrations/emqx/
- 更新日期：2026-07-17

# EMQX + Server酱：MQTT 消息推送到微信

> 效果：EMQX 规则引擎匹配到指定 MQTT 消息时，自动推送到微信

## 前置条件

- 获取 Server酱 SendKey：[30 秒获取教程](https://sct.ftqq.com/docs/getting-started/sendkey/)
- 已部署运行 EMQX，且有客户端正在向其发送 MQTT 消息

## 配置步骤

在 EMQX Dashboard 中，通过数据集成创建 HTTP 桥接与规则，将消息路由到 Server酱。

### 1. 创建 HTTP 桥接

进入 数据集成 → 创建 HTTP 桥接（Webhook），填写以下配置：

- **请求方法**：POST
- **URL**：`https://sctapi.ftqq.com/你的SENDKEY.send`
- **Content-Type**：`application/x-www-form-urlencoded`
- **请求体（Body）**：

```text
title=EMQX告警&desp=${payload}
```

（如果使用 Server酱³，URL 端点改为 `https://你的UID.push.ft07.com/send/你的SENDKEY.send`，UID 取自 sctp 后的数字）

### 2. 创建规则

创建一条规则，从目标 Topic 提取数据并关联到上一步的桥接。

- **SQL 语句**：

```sql
SELECT payload FROM "your/topic"
```

将 `"your/topic"` 替换为你实际需要监听的 MQTT 主题。`payload` 变量将作为消息正文传递给桥接的 `${payload}`。

- **动作**：在规则详情中添加动作，选择刚刚创建的 HTTP 桥接。

配置完成后，当 `your/topic` 收到消息时，EMQX 会自动向 Server酱发送请求。

## 完整示例

以下是一个简单的配置示例，将 `device/alert` 主题的消息推送到微信。

**规则 SQL**：

```sql
SELECT payload FROM "device/alert"
```

**桥接 Body 模板**：

```text
title=设备告警&desp=${payload}
```

## 常见问题

**免费额度是多少？**

免费额度为每天 5 条。订阅会员目前特价最低 3 元/月，一天最多可发 1000 条（[价格详情](https://sct.ftqq.com/subscribe)）。

**配置后消息没收到？**

检查 EMQX 规则引擎的触发记录和错误日志（具体查看方式请参考 EMQX 官方文档）。同时参考 [常见问题与排查](https://sct.ftqq.com/docs/getting-started/faq/) 检查 SendKey 是否正确。

**发送频率有限制吗？**

API 每分钟上限为 50 条。如果 MQTT 消息频率极高，建议在规则 SQL 中增加条件过滤，或在业务端做聚合，避免触发频率限制。

## 相关集成

- [Python 脚本推送](https://sct.ftqq.com/docs/integrations/python/)
- [Uptime Kuma 宕机告警](https://sct.ftqq.com/docs/integrations/uptime-kuma/)
- [青龙面板任务通知](https://sct.ftqq.com/docs/integrations/qinglong/)


## 懒人方案：把这段话复制给你的 AI 助手

把下面这段文字原样粘贴给 Claude Code、Cursor 或任何 AI 编程助手，它就会替你完成 Server酱 的接入：

```text
请帮我把 Server酱 微信通知接入到我当前的项目/工具中：
1. API：POST https://sctapi.ftqq.com/{SendKey}.send，参数 title（必填，不能含换行）、desp（正文，支持 Markdown，可选）；成功时返回 JSON 的 code 为 0。
2. 如果我的 SendKey 以 sctp 开头，则改用 https://{uid}.push.ft07.com/send/{SendKey}.send，uid 是 SendKey 中 sctp 与 t 之间的数字。
3. SendKey 从环境变量 SERVERCHAN_SENDKEY 读取；如果没有，提醒我到 https://sct.ftqq.com 免费获取（每天 5 条额度）。
4. 安全要求：不要把 SendKey 硬编码进代码、不要打印到日志、不要提交到 git。
5. 频率约定：任务结束发 1 条结果摘要即可，批量任务合并成一条，不要每步都推。
请根据我当前的项目和场景直接写好代码/配置并验证。
```

