Send Mail Template


按照邮件模板发送邮件,并指定邮件模板中的参数值。请求发送成功后,邮件发送请求将被放入消息队列,API 将返回一个 eventId,后续可通过 eventId 查看实际发送结果。

请求格式

POST https://{apigw-address}/notification-center-service/v2.0/template/email

请求参数 (URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

组织 ID。如何获取 orgId 信息 >>

请求参数 (Body)

名称

必需/可选

数据类型

描述

variables

必需

Map<String, String>

从邮件模板中选取需要使用的变量,并指定变量的值。可前往 EnOS 应用门户 > 开发者控制台 中选择 通知管理 > 消息管理 > 模板管理,在 邮件 标签页中查看当前模板可用的变量。

templateCode

必需

String

模板标识符(Identifier)。

toAddresses

必需

List<String>

收件人的邮箱地址列表。

ccAddresses

可选

List<String>

抄送人的邮箱地址列表。

senderCode

可选

String

发件人标识符,用于配置本邮件通过哪个邮箱进行发送。可在 EnOS 应用门户 > 开发者控制台 中选择 通知管理 > 消息管理 > 基础设置,在 邮件 标签页中查看。若不传入,将默认通过 EnOS 通知管理的默认邮件通道发送,默认发件人地址将根据环境配置有所不同。

priority

可选

Enum

消息发送优先度,值支持 P0P1P2,默认 P2。通常情况下无需特殊配置。

extras

可选

Json

仅当邮件内需要添加自定义的多行表格时(邮件模板的变量包含 SYS_TABLE 变量时)需要提供。extras 的值将替换 SYS_TABLE 变量的值。示例可查看 请求示例

响应参数

名称

必需/可选

数据类型

描述

eventId

必需

String

消息通知 event ID,你可以通过 event ID 查询本次消息推送的实际结果。

错误码


你可以通过下表查询本 API 可能返回的特定错误码。有关通知管理服务 API 的通用错误码,参见 通用错误码


代码

错误信息

描述

32404

email address is not exist in this organization

不存在发件人邮箱信息。

32404

email template is not exist

邮件模板不存在。

32400

variable not in template

模板内变量错误。

32400

the format of mail address is illegal

收件人邮箱(或抄送人邮箱)的地址格式不正确。

32535

fail to authenticate the smtp server

SMTP 服务器认证失败。

示例

请求示例

url: https://{apigw-address}/notification-center-service/v2.0/template/email?orgId=yourOrgId
method: POST
requestBody:
{
  "variables": {},
  "ccAddresses": [],
  "templateCode": "",
  "priority": "P2",
  "toAddresses": [
    "xxx@univers.com"
  ],
  "senderCode":"",
  "extras":{
     "table":{
        "header": ["comuln_1","comuln_2", ... "comuln_n" ],
        "rows": [["comuln_1","comuln_2", ... "comuln_n" ], ["comuln_1","comuln_2", ... "comuln_n" ], ... ["comuln_1","comuln_2", ... "comuln_n" ]]
     }
  }
}

返回示例

{"code":0, "msg":"OK", "submsg":"", "requestId": null, "data":{"eventId": "evt16062008765401}}

异常示例

{"code":32403, "msg":"the quota is run out, test quota is limited", "submsg":"Permission denied: tunnel.quota.run.out", "data": null, "requestId": null}