四、管理端接口¶
接口访问 URL:http://mail.demo.com/admin/openapi.php
4.1 管理员登录¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | login | Y | |
| user | 用户名 | 管理员用户名 | Y | admin |
| pass | 登录密码 | 管理员密码 | Y | Ad@3298 |
成功返回值
{
"result": "ok",
"info":
{
“sessid”: "efd24f9f63d69d6f6f169b235822ca5875eb2bae",
“user”: "admin"
}
}
登录成返回 sessid , 这是一个会话 token,以下所有操作接口都需要携带此 sessid 参数
登录成功后,开发者一直可以使用此 sessid 进行操作其他接口。会话是有有效期限的,长时间不操作会过期,默认是 30 分钟。开发者可以在有效期内定时更新 session 保持一直有效。
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | updatesession | Y | |
| sessid | 登录session | 登录成返回 sessid | Y | 参考 “4.1 管理员登录” |
成功返回值
4.2 域名管理¶
4.2.1 域名列表¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | domain | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| pageno | 页码 | 分页序号,以0开始 | N |
成功返回值
4.2.2 新增域名¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | domain.added | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| domain | 域名 | Y | ||
| type | 域名类型 | 1-主域 0-普通域 |
N | |
| descripton | 描述 | N | ||
| mailquota | 新邮箱默认空间大小 | 单位MB | N | |
| mailcount | 新邮箱默认最多邮件数 | N | ||
| fpquota | 新邮箱默认网络磁盘空间大小 | 单位MB | N | |
| fpcount | 新邮箱默认网络磁盘最多文件数 | N |
成功返回值
失败返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| -1 | 域名数已经达到允许注册数 |
| 1 | 域名新增失败 |
| 2 | 相同的域名已经存在 |
| 3 | 相同的域别名已经存在 |
| 4 | 相同的NT认证域名已经存在 |
| 99 | 您没有权限进行此项操作 |
4.2.3 修改域名¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | domain.edited | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| domain | 域名 | Y | ||
| type | 域名类型 | 1-主域0-普通域 | N | |
| descripton | 描述 | N | ||
| mailquota | 新邮箱默认空间大小 | 单位MB | N | |
| mailcount | 新邮箱默认最多邮件数 | N | ||
| fpquota | 新邮箱默认网络磁盘空间大小 | 单位MB | N | |
| fpcount | 新邮箱默认网络磁盘最多文件数 | N |
成功返回值
失败返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| 1 | 域名修改失败 |
| 99 | 您没有权限进行此项操作 |
4.2.4 删除域名¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | domain.delete | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| domain | 域名 | Y |
成功返回值
失败返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| -1 | 域名数已经达到允许注册数。 |
| 1 | 域名删除失败 |
| 2 | 此域名下存在邮箱,请先删除域下用户,别名和组 |
| 3 | 主域名不能被删除 |
| 99 | 您没有权限进行此项操作 |
4.3 用户管理¶
4.3.1 用户列表¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | user | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| domain | 域名 | 列出此域名下的用户 | Y | |
| pageno | 页码 | 分页序号,以0开始 | N |
成功返回值
{
"result": "ok",
"info":
{
“users”: 邮箱用户列表,
“totalcount”: 用户总数
“pagecount”: 分页总数
“domain”: 所属域名
}
}
4.3.2 新增用户¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | user.added | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 邮箱用户名 | Y | ||
| domain | 域名 | Y | ||
| password | 邮箱密码 | Y | ||
| authtype | 认证方式 | 0 -本系统认证; 1 - NT域认证; 2 - 第三方认证 |
N | |
| status | 状态 | 0 -正常;1 -禁止; 2 -等待审核 |
N | |
| fullname | 用户姓名 | N | ||
| descripton | 描述 | N | ||
| homeaddress | 家庭地址 | N | ||
| homephone | 家庭电话 | N | ||
| mobile | 手机 | N | ||
| company | 工作单位 | N | ||
| department | 部门 | N | ||
| jobttle | 职位 | N | ||
| ofce | 办公室 | N | ||
| ofcephone | 办公电话 | N | ||
| mailquota | 邮箱空间大小 | 单位MB | N | |
| mailcount | 邮箱最多邮件数 | N | ||
| fpquota | 网络磁盘空间大小 | 单位MB | N | |
| fpcount | 网络磁盘最多文件数 | N | ||
| forwardaddr | 自动转发地址 | 多个email用;分隔 | N | |
| fwdsavecopy | 转发后是否保存留备份 | 0 –不保留; 1 - 保留; |
N | |
| autoreplystatus | 自动回复状态 | 0 –不启用; 1 –启用; |
N |
成功返回值
{ "result": "ok"}
失败返回值
{ "result": "err", errno: 1}
错误代码:
| errno 值 | 含义 |
|---|---|
| -1 | 用户数已经达到允许注册数 |
| 1 | 用户新增失败 |
| 2 | 相同的用户已经存在 |
| 3 | 相同的用户别名已经存在 |
| 4 | 相同的邮件组已经存在 |
| 6 | 此域下用户邮箱数已经达到本域允许的注册数 |
| 7 | 此域下用户邮箱容量已经达到本域允许的总容量 |
| 8 | 此域下用户网络磁盘容量已经达到本域允许的总容量 |
| 101 | 主服务器增加用户失败 |
| 102 | 主服务器上相同的用户已经存在 |
| 103 | 主服务器上相同的用户别名已经存在 |
| 104 | 主服务器上相同的邮件组已经存在 |
| 99 | 您没有权限进行此项操作 |
4.3.3 修改用户¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | user.edited | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 邮箱用户名 | Y | ||
| domain | 域名 | Y | ||
| password | 邮箱密码 | 有值代表修改密码 | N | |
| authtype | 认证方式 | 0 -本系统认证; 1 - NT域认证; 2 - 第三方认证 |
N | |
| status | 状态 | 0 -正常;1 -禁止; 2 -等待审核 |
N | |
| fullname | 用户姓名 | N | ||
| descripton | 描述 | N | ||
| homeaddress | 家庭地址 | N | ||
| homephone | 家庭电话 | N | ||
| mobile | 手机 | N | ||
| company | 工作单位 | N | ||
| department | 部门 | N | ||
| jobttle | 职位 | N | ||
| ofce | 办公室 | N | ||
| ofcephone | 办公电话 | N | ||
| mailquota | 邮箱空间大小 | 单位MB | N | |
| mailcount | 邮箱最多邮件数 | N | ||
| fpquota | 网络磁盘空间大小 | 单位MB | N | |
| fpcount | 网络磁盘最多文件数 | N | ||
| forwardaddr | 自动转发地址 | 多个 email 用;分隔 | N | |
| fwdsavecopy | 转发后是否保存留备份 | 0 –不保留; 1 - 保留; |
N | |
| autoreplystatus | 自动回复状态 | 0 –不启用; 1 –启用; |
N |
*如果要修改密码,增加参数 changedpwd ,值设置为 1
成功返回值
失败返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| 1 | 用户修改失败 |
| 99 | 您没有权限进行此项操作 |
4.3.4 删除邮箱¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | user.delete | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 邮箱用户名 | Y | ||
| domain | 域名 | Y |
成功返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| 1 | 用户删除失败 |
| 99 | 您没有权限进行此项操作 |
4.4 组管理¶
4.4.1 组列表¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| domain | 域名 | 列出此域名下的用户 | Y | |
| pageno | 页码 | 分页序号,以0开始 | N |
成功返回值
{
"result": "ok",
"info":
{
“groups”: 邮箱组列表,
“totalcount”: 用户总数
“pagecount”: 分页总数
“domain”: 所属域名
}
}
4.4.2 新增组¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.added | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组名 | Y | ||
| domain | 域名 | Y | ||
| fullname | 组名称 | N | ||
| descripton | 描述 | N | ||
| subgroup | 子分组 | 各子分组名以分号(;)分隔 | N | |
| members | 组成员 | 各成员名以分号(;)分隔 | N | |
| sendmailright | 发信权限 | 0-任何人都可以给组员发信; 1-只有组员可以发信; 2-仅指定成员可以发信; 3-本域下用户可以发信 |
N | |
| sendmailmembers | 发信成员 | 各发信成员名以分号(;)分隔 | N | |
| managers | 组管理员 | 各组管理员名以分号(;)分隔 | N | |
| visibleright | 可见权限 | 0-任何人可以看到此通讯组及其成员; 1-任何人可以看到此通讯组; 2-本域用户可以看到此通讯组及其成员; 3-域用户可以看到此通讯组; 4-组成员可以看到此通讯组及其成员; 5-组成员可以看到此通讯组; 6-只有管理员可以看到此通讯组及成员 |
N | |
| sendervisible | 发信成员可见 | 0-没有特别可见权限; 1-发信成员有相同的可见度。 |
N |
成功返回值
败返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| 1 | 组新增失败 |
| 2 | 相同的用户已经存在 |
| 3 | 相同的用户别名已经存在 |
| 4 | 相同的邮件组已经存在 |
| 101 | 主服务器增加用户失败 |
| 102 | 主服务器上相同的用户已经存在 |
| 103 | 主服务器上相同的用户别名已经存在 |
| 104 | 主服务器上相同的邮件组已经存在 |
| 99 | 您没有权限进行此项操作 |
4.4.3 修改组¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.edited | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组名 | Y | ||
| domain | 域名 | Y | ||
| fullname | 组名称 | N | ||
| descripton | 描述 | N | ||
| subgroup | 子分组 | 各子分组名以分号(;)分隔 | N | |
| members | 组成员 | 各成员名以分号(;)分隔 | N | |
| sendmailright | 发信权限 | 0-任何人都可以给组员发信; 1-只有组员可以发信; 2-仅指定成员可以发信; 3-本域下用户可以发信 |
N | |
| sendmailmembers | 发信成员 | 各发信成员名以分号(;)分隔 | N | |
| managers | 组管理员 | 各组管理员名以分号(;)分隔 | N | |
| visibleright | 可见权限 | 0-任何人可以看到此通讯组及其成员; 1-任何人可以看到此通讯组; 2-本域用户可以看到此通讯组及其成员; 3-域用户可以看到此通讯组; 4-组成员可以看到此通讯组及其成员; 5-组成员可以看到此通讯组; 6-只有管理员可以看到此通讯组及成员 |
N | |
| sendervisible | 发信成员可见 | 0-没有特别可见权限; 1-发信成员有相同的可见度。 |
N |
成功返回值
失败返回值
错误代码:| errno 值 | 含义 |
|---|---|
| 1 | 组修改失败 |
| 99 | 您没有权限进行此项操作 |
4.4.4 列组成员¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.listgroupbymember | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组成员名 | Y | ||
| domain | 组成员域名 | Y |
成功返回值
4.4.5 增加组成员¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.addmember | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组成员名 | Y | ||
| domain | 组成员域名 | Y | ||
| groups | 组名列表 | 多个组以;分隔 | Y |
成功返回值
失败返回值
| 错误代码: | |
|---|---|
| errno 值 | 含义 |
| 1 | 组成员增加失败 |
| 99 | 您没有权限进行此项操作 |
4.4.6 修改组成员¶
| 参数应用参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.modifymember | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组成员名 | Y | ||
| domain | 组成员域名 | Y | ||
| groups | 组名列表 | 多个组以;分隔 | Y |
*从系统里的其他组中删除此成员,仅保留组名列表中的组成员。
成功返回值
| errno 值 | 含义 |
|---|---|
| 1 | 组成员修改失败 |
| 99 | 您没有权限进行此项操作 |
4.4.7 删除组成员¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.delmember | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组成员名 | Y | ||
| domain | 组成员域名 | Y | ||
| groups | 组名列表 | 多个组以;分隔 | Y |
成功返回值
| errno 值 | 含义 |
|---|---|
| 1 | 组成员删除失败 |
| 99 | 您没有权限进行此项操作 |
4.4.8 删除组¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | group.delete | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| name | 组名 | Y | ||
| domain | 域名 | Y |
成功返回值
| errno 值 | 含义 |
|---|---|
| 1 | 组删除失败 |
| 99 | 您没有权限进行此项操作 |
4.5 管理员管理¶
4.5.1 管理员列表¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | adminuser | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| pageno | 页码 | 分页序号,以0开始 | N |
成功返回值
4.5.2 新增管理员¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | adminuser.added | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| username | 管理员用户名 | Y | ||
| password | 管理员密码 | Y | ||
| descripton | 描述 | N | ||
| usertype | 管理员类型 | 0 -超级管理员; 1 - 域管理员 |
N | |
| adminrange | 允许管理的域 | 多个域名之间用分号(;)分隔;域管理员需设置 | N |
成功返回值
失败返回值
错误代码:
| errno 值 | 含义 |
|---|---|
| 1 | 管理新增失败 |
| 2 | 用户名格式不正确 |
| 99 | 您没有权限进行此项操作 |
4.5.3 修改管理员¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | adminuser.edited | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| username | 管理员用户名 | Y | ||
| password | 管理员密码 | Y | ||
| descripton | 描述 | N | ||
| usertype | 管理员类型 | 0 -超级管理员; 1 - 域管理员 |
N | |
| adminrange | 允许管理的域 | 多个域名之间用分号(;)分隔;域管理员需设置 | N |
成功返回值
| errno 值 | 含义 |
|---|---|
| 1 | 管理员修改失败 |
| 99 | 您没有权限进行此项操作 |
4.5.4 删除管理员¶
| 参数 | 参数名称 | 参数说明 | 必须 | 样例 |
|---|---|---|---|---|
| method | 方法名 | adminuser.delete | Y | |
| sessid | 登录session | 登录成返回sessid | Y | 参考“4.1 管理员登录” |
| username | 管理员用户名 | Y |
成功返回值
| errno 值 | 含义 |
|---|---|
| 1 | 管理员删除失败 |
| 99 | 您没有权限进行此项操作 |