使用 批量发送邮件
使用 受理 1–100 封独立邮件,受理前整批校验,成功返回 HTTP 202。
使用 批量发送邮件
curl -X POST "https://innomail-stable.cm253.com/innomail/v2/messages/batchsend" \
-H "Authorization: Bearer <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"to": [
{
"email": "alice@example.net"
}
],
"from": {
"name": "Example",
"email": "notify@example.com"
},
"html": "<p>Your order has been confirmed.</p>",
"subject": "Order confirmation",
"messageType": "TRANSACTIONAL"
},
{
"to": [
{
"email": "bob@example.net"
}
],
"from": {
"name": "Example",
"email": "notify@example.com"
},
"text": "Your package is on its way.",
"subject": "Shipping update",
"messageType": "TRANSACTIONAL"
}
]
}'批次已受理,之后逐封异步处理。
{
"code": "000000",
"data": {
"status": "ACCEPTED",
"batchId": "BATCH-EXAMPLE-002",
"messages": [
{
"index": 0,
"status": "ACCEPTED",
"messageId": "SINGLE-EXAMPLE-003"
}
],
"requestId": "REQ-EXAMPLE-002",
"acceptedAt": "2026-11-11T03:00:00Z",
"acceptedCount": 1
},
"message": "success",
"traceId": "REQ-EXAMPLE-002",
"timestamp": "2026-11-11T03:00:00.123Z"
}来自当前规范的响应示例,不是真实请求结果。
一次受理 1–100 个独立邮件对象。受理前任一子项不合法会整批拒绝,受理后逐封独立处理。成功受理返回 HTTP 202 和 code=000000。
使用 InnoPaaS AppKey 作为 Bearer Token。可在 Console 的 API 密钥页面创建或管理密钥。 查看密钥指南
授权
Authorizationstring<bearer>必填请求头参数
X-Idempotency-Keystring必填Unique business-task key retained across retries, up to 128 characters.
1最大长度128X-Custom-TraceIdstring可选Optional customer trace ID, up to 256 characters after trimming.
256请求主体
application/jsonmessagesarray<object>必填独立邮件对象,1–100 项;任一子项不合法会整批拒绝。
展开子字段
ccarray<object>可选抄送,最多 50 项;营销邮件必须为空。
展开子字段
namestring可选可选抄送显示名称。
emailstring可选抄送裸邮箱地址。
toarray<object>必填收件人,1–50 项;营销邮件原始请求必须恰好一项。
展开子字段
namestring可选可选收件人显示名称。
emailstring可选收件人裸邮箱地址。
bccarray<object>可选密送,最多 50 项;营销邮件必须为空。
展开子字段
namestring可选可选密送显示名称。
emailstring可选密送裸邮箱地址。
fromobject可选发件人,必须使用当前账户已授权的邮箱。
展开子字段
namestring可选可选发件人显示名称。
emailstring可选发件人裸邮箱地址。
htmlstring可选HTML 正文;不得与模板同时提供。
524288tagsarray<object>可选业务标签,最多 20 项。
展开子字段
namestring可选标签名,最长 32 字符。
32valuestring可选标签值,最长 64 字符。
64textstring可选纯文本正文;与 HTML 至少一项非空,使用模板时省略。
524288headersjson可选自定义邮件头,最多 25 项,不得覆盖平台管理头。
replyTostring可选单个回复邮箱,覆盖发件邮箱默认值。
320subjectstring必填邮件主题,正文或模板发送均必填。
998metadatajson可选业务扩展数据,不渲染且不保证出现在事件通知中。
templateobject可选已审核并启用的模板引用。
展开子字段
languagestring可选预留字段,不会自动切换模板语言。
32variablesjson可选本次模板变量,同名键覆盖顶层 variables。
templateIdstring必填当前账户可用的模板 ID。
128variablesjson可选模板通用变量;直接正文不渲染。
attachmentsjson可选预留附件引用;当前无附件内容存储和实际投递能力,请省略。
messageTypestring可选MARKETING 或 TRANSACTIONAL;非模板省略时默认为营销。
响应
application/json批次已受理,之后逐封异步处理。
codestring可选业务码,成功受理为 000000。
datajson可选批量受理数据,包含 requestId、batchId、ACCEPTED 状态、acceptedCount、acceptedAt 和逐封结果。
messagestring可选结果说明。
traceIdstring可选本次 HTTP 请求的链路标识。
timestampstring可选响应生成时间。
{
"code": "000000",
"data": {
"status": "ACCEPTED",
"batchId": "BATCH-EXAMPLE-002",
"messages": [
{
"index": 0,
"status": "ACCEPTED",
"messageId": "SINGLE-EXAMPLE-003"
}
],
"requestId": "REQ-EXAMPLE-002",
"acceptedAt": "2026-11-11T03:00:00Z",
"acceptedCount": 1
},
"message": "success",
"traceId": "REQ-EXAMPLE-002",
"timestamp": "2026-11-11T03:00:00.123Z"
}来自当前规范的响应示例,不是真实请求结果。