# Mail APIs
本组API用于收发邮件,标记邮件状态。
- 使用本组API前请先阅读概述,使用前的准备工作请参考此处,令牌的获取参考此处,构造请求请参考此处,返回数据请参考此处,除非特殊注明,所有开放式API有着通用的返回结构。
- 每个API的授权方式、授权范围和是否API SDK支持请查看以下每个API详细的表述。
# 取邮件
- GET https://api.sjtu.edu.cn/v1/mails/[{unread|read}] 授权码 read_mails
# 功能介绍
读取用户的邮件
# 请求参数
- 路径参数 unread|read 表示读取未读或已读邮件,如果这个参数不给就读取所有
# 响应参数
所有API的响应参数都具有相同的通用结构,本文档只描述通用结构中entities数组返回的数据对象。
- Mail 邮件 Structure
高亮部分在发送邮件时必填
{
"id":{id}, // 邮件id
"name":{string}, // 标题
"kind":"canvas.mail",
"sender":{string}, // 发信人。读取时返回,put时不需提供
"to":[ // 收信人email地址列表。仅put时需要,读取时不提供
{
"email":{email}, // 单个收信人地址, 需提供
"name":{name} // 单个收信人显示名称,可不提供
}
...
],
"cc":[ // 抄送人email地址列表。仅put时可选需要,读取时不提供
{
"email":{email}, // 单个抄送人地址, 需提供
"name":{name} // 单个抄送人显示名称,可不提供
}
...
],
"bcc":[ // 秘密抄送人email地址列表。仅put时可选需要,读取时不提供
{
"email":{email}, // 单个秘密抄送人地址, 需提供
"name":{name} // 单个秘密抄送人显示名称,可不提供
}
...
],
"contentType":{string}, // 内容类型, [plain|html|raw] 暂只支持plain,html。仅put时需要,读取时不提供
"content":{string}, // 正文。仅put时需要,读取时不提供
"status":{string}, // 常量。read/unread
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 请求示例
示例 读取未读邮件
GET /v1/mails/unread?access_token=token HTTP/1.1
Host: api.sjtu.edu.cn
1
2
2
返回数据最多100条,如果超过100,会给出nextToken,将该token作为参数pageToken传入即可请求下一页
示例 传递pageToken读取下一页
GET /v1/mails/unread?access_token=token&pageToken=nextToken HTTP/1.1
Host: api.sjtu.edu.cn
1
2
2
# 响应示例
示例 读取未读邮件的返回信息
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"errno":0,
"error":"success",
"total":1,
"entities":[{
"id":"48873",
"name":"邮件标题",
"status":"unread",
"from":"test@sjtu.edu.cn",
"sender":"service"
}]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 发邮件
# 功能介绍
发送邮件
# 请求参数
- 在请求体中以json格式放发送邮件的内容
# 响应参数
所有API的响应参数都具有相同的通用结构,本文档只描述通用结构中entities数组返回的数据对象。
同取邮件中的响应参数,可参考以上的Mail 邮件
# 请求示例
示例 发送邮件
PUT /v1/mail?access_token=token HTTP/1.1
Host: api.sjtu.edu.cn
Content-Type: application/json
{
"to":[{
"email":"test@sjtu.edu.cn"
}],
"name":"邮件标题",
"contentType":"plain",
"content":"邮件正文"
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 响应示例
示例 发送邮件请求的返回信息
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"errno":0,
"error":"success",
"total":0,
"entities":[{
"name":"邮件标题",
"to":[{
"email":"test@sjtu.edu.cn"
}],
"contentType":"plain",
"content":"邮件正文"
}]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 标记邮件状态
# 功能介绍
标记邮件状态(status=unread/read),其他字段不可修改。
# 请求参数
- 路径参数 mailId 邮件id
- 请求体参数 Mail邮件数据,只需要放status即可
# 响应参数
所有API的响应参数都具有相同的通用结构,本文档只描述通用结构中entities数组返回的数据对象。
同取邮件中的响应参数,可参考以上的Mail 邮件,但是只包括id和status字段
# 请求示例
示例 请求将id号为48873的邮件置成已读状态
POST /v1/mail/48873?access_token=token HTTP/1.1
Host: api.sjtu.edu.cn
Content-Type: application/json
{
"status":"read"
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# 响应示例
示例 设置已读状态请求成功返回信息
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
{
"errno":0,
"error":"success",
"total":0,
"entities":[{
"id":"48873",
"status":"read"
}]
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12