跳转至

四、管理端接口

接口访问 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 管理员登录

成功返回值

 { "result": "ok"} 

4.2 域名管理

4.2.1 域名列表

参数 参数名称 参数说明 必须 样例
method 方法名 domain Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
pageno 页码 分页序号,以0开始 N

成功返回值

    { 
        "result": "ok", 
        "info": 
        {
            “domains”: 域名列表,
            “totalcount”: 域名总数
            “pagecount”: 分页总数
        } 
    }

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

成功返回值

{ "result": "ok"} 

失败返回值

{ "result": "err", errno: 1} 

错误代码:

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

成功返回值

{ "result": "ok"}

失败返回值

{ "result": "err", errno: 1}

错误代码:

errno 含义
1 域名修改失败
99 您没有权限进行此项操作

4.2.4 删除域名

参数 参数名称 参数说明 必须 样例
method 方法名 domain.delete Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
domain 域名 Y

成功返回值

{ "result": "ok"} 

失败返回值

{ "result": "err", errno: 1} 

错误代码:

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

成功返回值

{ "result": "ok"} 

失败返回值

{ "result": "err", errno: 1} 

错误代码:

errno 含义
1 用户修改失败
99 您没有权限进行此项操作

4.3.4 删除邮箱

参数 参数名称 参数说明 必须 样例
method 方法名 user.delete Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
name 邮箱用户名 Y
domain 域名 Y

成功返回值

 { "result": "ok"} 
失败返回值
{ "result": "err", errno: 1} 

错误代码:

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

成功返回值

{ "result": "ok"} 

败返回值

{ "result": "err", errno: 1} 

错误代码:

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

成功返回值

{ "result": "ok"}||

失败返回值

{ "result": "err", errno: 1}
错误代码:

errno 含义
1 组修改失败
99 您没有权限进行此项操作

4.4.4 列组成员

参数 参数名称 参数说明 必须 样例
method 方法名 group.listgroupbymember Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
name 组成员名 Y
domain 组成员域名 Y

成功返回值

{ 

    "result": "ok", 
    "groups": 用户所在邮箱组列表,多个组以分号分隔 

} 

4.4.5 增加组成员

参数 参数名称 参数说明 必须 样例
method 方法名 group.addmember Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
name 组成员名 Y
domain 组成员域名 Y
groups 组名列表 多个组以;分隔 Y

成功返回值

{ "result": "ok"} 

失败返回值

 { "result": "err", errno: 1} 
错误代码:
errno 含义
1 组成员增加失败
99 您没有权限进行此项操作

4.4.6 修改组成员

参数应用参数 参数名称 参数说明 必须 样例
method 方法名 group.modifymember Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
name 组成员名 Y
domain 组成员域名 Y
groups 组名列表 多个组以;分隔 Y

*从系统里的其他组中删除此成员,仅保留组名列表中的组成员。

成功返回值

{ "result": "ok"} 
失败返回值
{ "result": "err", errno: 1} 
错误代码:

errno 含义
1 组成员修改失败
99 您没有权限进行此项操作

4.4.7 删除组成员

参数 参数名称 参数说明 必须 样例
method 方法名 group.delmember Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
name 组成员名 Y
domain 组成员域名 Y
groups 组名列表 多个组以;分隔 Y

成功返回值

{ "result": "ok"} 
失败返回值
{ "result": "err", errno: 1} 
错误代码:

errno 含义
1 组成员删除失败
99 您没有权限进行此项操作

4.4.8 删除组

参数 参数名称 参数说明 必须 样例
method 方法名 group.delete Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
name 组名 Y
domain 域名 Y

成功返回值

{ "result": "ok"} 
失败返回值
{ "result": "err", errno: 1} 
错误代码:

errno 含义
1 组删除失败
99 您没有权限进行此项操作

4.5 管理员管理

4.5.1 管理员列表

参数 参数名称 参数说明 必须 样例
method 方法名 adminuser Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
pageno 页码 分页序号,以0开始 N

成功返回值

    { 
        "result": "ok", 
        "info": 
        { 
            “users”: 邮箱用户列表, 
            “totalcount”: 用户总数 
            “pagecount”: 分页总数 
        } 
    } 

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

成功返回值

{ "result": "ok"} 

失败返回值

{ "result": "err", errno: 1} 

错误代码:

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

成功返回值

{ "result": "ok"} 
失败返回值
{ "result": "err", errno: 1} 
错误代码:

errno 含义
1 管理员修改失败
99 您没有权限进行此项操作

4.5.4 删除管理员

参数 参数名称 参数说明 必须 样例
method 方法名 adminuser.delete Y
sessid 登录session 登录成返回sessid Y 参考“4.1 管理员登录
username 管理员用户名 Y

成功返回值

{ "result": "ok"} 
失败返回值
{ "result": "err", errno: 1} 
错误代码:

errno 含义
1 管理员删除失败
99 您没有权限进行此项操作