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 |
消息发送优先度,值支持 |
extras |
可选 |
Json |
仅当邮件内需要添加自定义的多行表格时(邮件模板的变量包含 |
响应参数¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
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}