接口概述
邮件分发系统演示站 开放接口 · RESTful 调用
通过本接口,您可在自有系统中集成邮件发送能力。所有接口采用 HTTPS 传输、HMAC-SHA256 签名鉴权。
接入准备
1. 登录用户中心「API 管理」获取 API Key 与 API Secret;
2. 确保 API 已启用;
3. 按下方签名算法构造请求。
2. 确保 API 已启用;
3. 按下方签名算法构造请求。
接口基础地址:
https://demo.mail.ayixing.cn鉴权与签名
请求头
| 请求头 | 类型 | 必填 | 说明 |
|---|---|---|---|
| X-Api-Key | string | 是 | 用户 API Key |
| X-Timestamp | int | 是 | Unix 时间戳(秒),与服务器时差需 ≤ 300 秒 |
| X-Nonce | string | 是 | 随机字符串,防重放(同 Key 下不可重复) |
| X-Sign | string | 是 | HMAC-SHA256 签名,小写 hex |
签名算法
待签名串(
其中 Path 为
\n 为换行符):signStr = ApiKey + "\n" + Timestamp + "\n" + Nonce + "\n" + "POST" + "\n" + Path + "\n" + rawBodyX-Sign = hash_hmac('sha256', signStr, ApiSecret)其中 Path 为
/api/send.php,rawBody 为最终提交的请求体原文。
发件接口
接口地址
POST
https://demo.mail.ayixing.cn/api/send.phpContent-Type:
application/x-www-form-urlencoded 或 application/json请求参数(Body)
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| to | string | 是 | 收件人邮箱 |
| subject | string | 是 | 邮件主题 |
| content | string | 是 | 邮件正文(默认 HTML) |
| is_html | int | 否 | 是否 HTML,1=是(默认),0=纯文本 |
| from_name | string | 否 | 发件人显示名称,留空用系统默认 |
返回结果
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 0 表示成功,其余为错误码 |
| msg | string | 结果描述 |
| data.log_id | int | 发件日志 ID |
| data.pay_way | string | 计费方式:package=套餐额度 / balance=余额 |
| data.cost | string | 本次余额消费(走套餐为 0.000) |
| data.balance | string | 操作后账户余额 |
| data.quota_remaining | int | 剩余套餐总额度(封) |
调用示例
PHP
$gateway = 'https://demo.mail.ayixing.cn'; $path = '/api/send.php';
$key = '你的ApiKey'; $secret = '你的ApiSecret';
$body = http_build_query([
'to' => 'test@example.com',
'subject' => '测试邮件',
'content' => '<p>你好,这是一封测试邮件</p>',
'is_html' => 1,
'from_name' => '官方通知',
]);
$ts = (string)time();
$nonce = bin2hex(random_bytes(8));
$signStr = "$key\n$ts\n$nonce\nPOST\n$path\n$body";
$sign = hash_hmac('sha256', $signStr, $secret);
$ch = curl_init($gateway . $path);
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $body,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"X-Api-Key: $key",
"X-Timestamp: $ts",
"X-Nonce: $nonce",
"X-Sign: $sign",
],
]);
echo curl_exec($ch);
返回示例
// 成功
{"code":0,"msg":"发送成功","data":{"log_id":12,"pay_way":"package","cost":"0.000","balance":"11.000","quota_remaining":9980}}
// 失败(未实名)
{"code":4030,"msg":"发件需先完成实名认证","data":{},"action":"realname","realname_url":"/user/realname.php"}
错误码
| 错误码 | 说明 |
|---|---|
| 0 | 成功 |
| 400 / 4001 / 4002 | 请求参数错误 / 缺少必填参数 / 参数格式不正确 |
| 401 / 4011 | 鉴权失败 / 缺少签名参数 |
| 4012 / 4013 | 时间戳格式错误 / 时间戳无效(时钟不同步或已过期) |
| 4014 / 4015 | API Key 不存在 / 签名验证失败 |
| 4016 | 请求重复(Nonce 已使用) |
| 4030 | 发件需先完成实名认证 |
| 4031 / 4032 | API 功能未启用 / 账号已被禁用 |
| 402 | 套餐额度用完且余额不足 |
| 429 | 请求过于频繁 |
| 500 / 503 | 服务器内部错误 / 发件服务不可用 |
© 2026 邮件分发系统演示站 保留所有权利