公告
暂无通知 当前没有需要优先提醒的内容。
Help Center

通知系统使用指南

这页汇总了普通用户最常用的操作说明。你可以在这里查看通知设置、API 接入、调试模式、日志排查和 VIP 权益等内容,遇到问题时也能快速找到对应入口。

帮助主题 14 项
接口类型 JSON POST
问题排查 日志 + 调试模式

你能完成什么

功能总览
通知邮箱 把消息送到你真正会看的邮箱
控制台保存后,后续所有接口消息都会发到这个地址。
API 接入 让程序自动调用接口发送提醒
用 API Key 配合 /send.php,把订单、告警、Webhook 变成邮件通知。
日志排查 快速确认请求有没有到、邮件有没有发
日志会记录时间、来源 IP、状态、摘要和原始 POST 内容。

推荐顺序

建议这样用
先确认通知邮箱,再复制 API Key 做一次测试请求;如果要用自己的邮箱发信,就把 SMTP 配好并测试发送;接入业务系统后,再去日志页核对投递结果。发送频率高时,再考虑兑换 VIP。

最新通知

Notice
暂无通知

控制台功能介绍

Dashboard
接口信息 站点地址、API Key、发送接口地址
这是程序接入最核心的三项信息。API Key 相当于调用凭证,不要发给无关人员。
通知设置 通知邮箱、主题模板、正文模板
你可以把邮件标题和正文改成自己的业务表达方式,还能引用 POST 字段动态生成内容。
发信模式 官方发信或自定义 SMTP
想直接开用就选官方发信;想从自己的邮箱发出,就配置自定义 SMTP。
测试发送 保存前后都建议做一次测试
测试邮件能帮你快速确认邮箱、授权码、服务器地址和加密方式是否正确。
调试模式 实时查看进入系统的 POST 数据
开启后,请求只在调试页里实时显示,不记日志,也不会真正发邮件,适合联调。
密码与 VIP 修改登录密码、兑换 VIP
密码建议定期更新;VIP 适合高频通知、批量自动化推送和生产环境长期使用。

4 步快速上手

Quick Start
1

先改通知邮箱

进入控制台后,先把通知邮箱改成你当前能正常接收邮件的地址。后续所有成功投递都会发到这里。

2

复制 API Key

在接口信息区域复制 API Key。它是系统识别你身份的凭证,请像密码一样保管。

3

发一次测试请求

/send.php 发一个带 subjectmessage 的 POST 请求,验证接口链路是否通畅。

4

去日志页确认结果

如果日志里显示成功,说明当前配置已经可用;如果失败,就根据错误信息继续排查。

通知设置怎么填

Settings
  • 通知邮箱:填写真正接收提醒的邮箱地址。
  • 主题模板:建议保留业务名称和关键状态,方便在收件箱里一眼识别。
  • 正文模板:可以组合固定文案和动态字段,邮件内容会更清晰。
  • 常用变量:{{message}}{{subject}}{{time}}{{ip}}{{payload_json}}
  • 自定义变量:你在 POST 里额外传的字段,例如 {{order_id}}{{server}}{{user_id}},也都可以直接写进模板。
自定义变量怎么用: 只要你在 POST 请求里额外传了字段,系统就会把这些字段一起带进模板渲染。除了内置的 {{message}}{{subject}}{{time}} 这些变量,你还可以直接使用自己的业务字段,比如 {{order_id}}{{server}}{{customer_name}}{{level}}
查看自定义变量完整示例

假设你的程序发送了下面这段 POST 数据,除了主题和正文,还额外带了订单号、客户名、服务器和告警等级:

POST /send.php
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "subject": "订单支付成功",
  "message": "订单 A1001 已完成支付",
  "order_id": "A1001",
  "customer_name": "张三",
  "server": "web-01",
  "level": "info"
}

那么你就可以这样写模板:

主题模板:
[{{level}}] {{subject}} - {{order_id}}

正文模板:
客户:{{customer_name}}
订单号:{{order_id}}
服务器:{{server}}
时间:{{time}}

消息内容:
{{message}}

最终收到邮件时,系统会自动把变量替换成真实值。比如 {{order_id}} 会替换成 A1001{{server}} 会替换成 web-01

查看适合自定义变量的字段类型
  • 订单类:{{order_id}}{{amount}}{{status}}
  • 运维类:{{server}}{{service}}{{level}}
  • 用户类:{{user_id}}{{username}}{{customer_name}}
  • 任务类:{{task_id}}{{job_name}}{{result}}

建议变量名统一使用英文和下划线风格,保持和程序里的字段名完全一致,这样模板最稳定。

一个实用原则是:主题写结论,正文写细节。比如主题放“订单支付成功”,正文再放订单号、时间、服务器和原始请求内容。

发信模式说明

SMTP

官方发信

适合快速开始。普通用户无需填写 SMTP 参数,保存后即可直接使用。如果你只是想先把接口跑通,这是最省事的方式。

自定义 SMTP

适合希望邮件从自己邮箱发出的场景,比如 QQ、163、Gmail 或企业邮箱。通常需要填写 SMTP 主机、端口、用户名和授权码,保存后建议立刻做一次测试发送。

如果测试发送失败,优先检查四件事:SMTP 服务是否已开启、授权码是否正确、端口是否匹配、安全方式是否选对。

调试模式怎么用

Debug

适合什么时候用

联调接口、检查第三方平台到底传了哪些字段、确认变量名和内容是否正确时使用。

它会做什么

开启后,请求不会进入正常发信流程,而是只在调试页里实时显示,方便你先看清 POST 数据。

正确使用步骤

先开启调试模式,再打开调试页,然后从你的程序、Postman 或第三方平台发起请求。

你会看到什么

调试页通常会实时显示请求时间、来源 IP、主题以及原始 POST 内容,适合逐项核对字段。

和正常发送的区别: 调试模式下,请求只会实时展示,不写日志,也不会发送邮件。所以它适合“看数据”,不适合“正式通知”。
最容易忽略的地方: 调试页必须保持打开,否则你发出的新请求不会显示出来。联调结束后也记得关闭调试模式,不然之后的正式请求也不会正常发信。

接入接口前,先理解这条发送链路

Flow
1

程序向 /send.php 发起 POST

推荐使用 JSON 请求体,并在请求头里带上 Authorization: Bearer YOUR_API_KEY

2

系统识别 API Key,找到对应账号

如果 Key 无效,会直接返回错误;如果有效,就继续走发送流程。

3

校验发送频率和每日上限

普通用户默认可能存在频率限制或日发送上限;VIP 更适合高频场景。

4

套用主题模板和正文模板

系统会把你传入的字段与内置变量一起渲染成最终邮件内容。

5

尝试发送并记录结果

正常模式下会写入日志;调试模式下则只实时展示请求内容,不发邮件。

支持的接入场景

Integration
PHP / Java / Go 服务端业务系统
下单成功、支付回调、定时任务、库存变化等场景都适合直接调用接口。
Python 脚本与运维自动化
巡检脚本、异常告警、备份结果通知、定时汇总邮件都很适合。
Node.js Webhook 与机器人
接第三方事件源、聊天机器人、自动处理服务时非常方便。
低代码 / 第三方平台 只要能发 HTTP 请求就能接
支持 Webhook 的平台通常都能快速接入,只需设置 URL、请求头和 JSON 字段。

API 接入

POST

如果你想让自己的程序自动发送通知,可以通过 API 把业务事件提交到系统。这里整理了接入时最需要关注的请求规则,以及常见语言的调用示例,方便你按自己的开发环境直接对接。

请求地址
/send.php 发起 POST 请求。
身份校验
推荐使用 Authorization: Bearer YOUR_API_KEY
常用字段
subjectmessage,也可追加业务字段。

下面按语言分别给出示例。最常用的字段是 subjectmessage,你也可以追加 order_idserver 这类业务字段。

cURL
curl -X POST "https://your-domain.com/send.php" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "subject": "订单状态更新",
    "message": "订单 A1001 已支付成功",
    "order_id": "A1001",
    "server": "web-01"
  }'
PHP
<?php
$url = 'https://your-domain.com/send.php';
$payload = [
    'subject' => '订单状态更新',
    'message' => '订单 A1001 已支付成功',
    'order_id' => 'A1001',
    'server' => 'web-01',
];

$headers = [
    'Content-Type: application/json',
    'Authorization: Bearer YOUR_API_KEY',
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload, JSON_UNESCAPED_UNICODE));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
Python
import requests

url = "https://your-domain.com/send.php"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY",
}
payload = {
    "subject": "订单状态更新",
    "message": "订单 A1001 已支付成功",
    "order_id": "A1001",
    "server": "web-01",
}

response = requests.post(url, json=payload, headers=headers, timeout=15)
print(response.status_code)
print(response.text)
JavaScript / Node.js
const payload = {
  subject: "订单状态更新",
  message: "订单 A1001 已支付成功",
  order_id: "A1001",
  server: "web-01"
};

fetch("https://your-domain.com/send.php", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
  body: JSON.stringify(payload)
})
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));
返回说明

接口统一返回 JSON。接入时建议同时判断 HTTP 状态码和 success 字段,再决定是否提示失败、记录日志或稍后重试。

200 OK
{
  "success": true,
  "message": "发送成功",
  "user": "demo",
  "sender_mode": "official"
}

如果账号开启了调试模式,并且调试查看器在线,接口会返回调试结果而不是实际发信:

200 OK
{
  "success": true,
  "debug": true,
  "message": "debug",
  "user": "demo"
}

常见失败返回示例:

400 Bad Request
{
  "success": false,
  "error": "缺少 API Key"
}

403 Forbidden
{
  "success": false,
  "error": "API Key 无效"
}

429 Too Many Requests
{
  "success": false,
  "error": "发送过于频繁或已达到今日上限"
}

500 Internal Server Error
{
  "success": false,
  "error": "SMTP 配置或发送过程出错"
}
  • 200 表示系统已成功接收请求;若同时出现 debug: true,说明请求进入调试模式,未真正发送邮件。
  • 400 通常是缺少身份字段,优先检查 Bearer Token 或请求体里的 key
  • 403 表示 API Key 校验失败,常见原因是填错、复制不完整或凭证已失效。
  • 429 表示触发发送频率限制或当日额度限制,适合延迟后重试。
  • 500 表示服务端发送阶段失败,通常需要检查 SMTP 配置、授权码或邮箱服务状态。
如果你的程序不方便设置请求头,也可以把 Key 放进请求数据里的 key 字段,但更推荐使用 Bearer 方式。

日志页重点看什么

Logs

时间

先确认请求是否在你预期的时间发出。业务系统说“已发送”但这里没记录,通常说明请求根本没到接口。

状态

成功代表系统已经完成邮件发送;失败则要继续结合错误信息和邮箱配置排查。

摘要

摘要通常就是主题,适合快速确认是哪一类消息在报错。

原始 POST

这里能看到程序到底传了什么字段,是确认变量名和数据结构最直接的地方。

日志页还支持按日期筛选和导出 CSV,适合排查某一段时间内的投递情况。

VIP 功能说明

VIP
普通用户 发送频率
60 封/秒
VIP 发送频率
无限制
普通用户 发送上限
10 封/天
VIP 发送上限
300 封/天
  • 普通用户可能会受到发送频率限制或每日上限限制。
  • VIP 用户默认更适合高频通知场景,发送频率可放开,不再受常规节奏限制。
  • 你可以在控制台的“兑换 VIP”区域输入兑换码,成功后通常立即生效。
  • 如果当前已经是 VIP,新兑换的时长一般会在现有有效期基础上顺延。
  • 适合场景:生产告警、批量任务通知、频繁状态推送、持续自动化监控。
如果只是偶尔测试接口,普通账号通常已经够用;如果你需要持续高频发通知,再考虑开通会更合适。

常见问题

FAQ

为什么发了请求却没有收到邮件?

先看日志页有没有对应记录。如果没有记录,通常是请求没到;如果有失败记录,优先检查 API Key、发信模式、SMTP 授权码、频率限制和调试模式状态。

API Key 可以发给别人吗?

不建议。它等同于接口访问凭证,泄露后别人可以冒用你的账号发送请求。必要时请立即在控制台轮换 API Key。

自定义 SMTP 里的密码填什么?

多数邮箱服务填的是 SMTP 授权码,不是网页登录密码。尤其是 QQ、163、Gmail、企业邮箱,通常都需要单独开启 SMTP 后再获取授权码。

为什么日志里能看到我额外传的字段?

因为系统会保留原始 POST 数据,除了标准字段外,你自己的业务字段也会被记录下来,便于后续排查和模板渲染。

调试模式和正常发送有什么区别?

调试模式只实时展示请求,不会真正发邮件,也不会写入日志。它更像“联调观察窗口”,不是正式发送通道。

最简单的接口测试方式是什么?

直接用 cURL 或 Postman 发一条最简单的 JSON POST,请求里只带 subjectmessage 和 Bearer API Key,然后马上去日志页核对结果。

在线 POST 测试

Tester

可以直接向当前服务器的 /send.php 发送测试消息,用来验证 API Key、请求字段和接口返回结果。

请求地址:/send.php
等待发送测试请求...