当前位置:首页 >> IT/计算机 >>

Coremail XT V2.0 高级API使用手册(Java版)

Coremail XT V2.0
高级 API(Java)使用手册 ( )

盈世信息科技(北京)有限公司 Coremail. Copyright 2000-2009 Mailtech.

Nx http://www.mailtech.cn

广州:+86(20)85106566

北京:+86(10)64097551

上海:+86(21)64262839

盈世信息科技(北京)有限公司

版权声明
本文档版权归盈世信息科技(北京)有限公司所有,并保留一切权利。未经书面许可,任何 公司和个人不得将此文档中的任何部分公开、转载或以其他方式散发给第三方。否则,必将 追究其法律责任。

免责声明
本文档仅提供阶段性信息,所含内容可根据产品的实际情况随时更新,恕不另行通知。如因 文档使用不当造成的直接或间接损失,本公司不承担任何责任。

文档更新
本文档由盈世信息科技(北京)有限公司于 2009 年 8 月最后修订。

公司网站
http://www.mailtech.cn 销售咨询热线 800-830-7652 技术支持热线 800-830-5422

联系方式
广州 地址:广州市中山大道科韵路 16 号广州信息港网易大厦 3 楼 邮编:510665 北京 联系电话:+86(20)85106566 传真:+86(20)85106595

地址:北京市西城区西外大街 1 号院西环广场 T3 座 7 层 B7-B8 邮编:100044 联系电话:+86(10)58301930 传真:+86(10)58302888

上海

地址:上海市静安区长乐路 672 弄 33 号 B 幢 3 楼 邮编:200040 联系电话:+86(21)61103951 传真:+86(21)61107756

成都

地址:成都市高新区永丰路 47 号玉林商务港 5 楼 518 室 邮编:610041 联系电话:+86(28)66252331 传真:+86(28)66252332

盈世信息科技(北京)有限公司

目录
1 Coremail XT API 通用函数说明 ............................................................................................. 1 1.1 getClient(连接 APIServer 使用的 socket) ................................................................... 1 1.2 getRetCode(获取操作的返回值) ............................................................................ 1 1.3 getResult(操作的返回结果) .................................................................................... 2 1.4 getResultEx(返回操作的返回结果) ....................................................................... 2 1.5 getErrorInfo(描述操作失败原因) ........................................................................... 2 1.6 toString(返回操作结果的字符串表示) .................................................................. 2 1.7 close(释放连接与资源)........................................................................................... 3 API 函数的使用步骤 ............................................................................................................... 3 Coremail XT API 具体功能应用 ............................................................................................. 4 3.1 登录............................................................................................................................... 4 3.1.1 用户登录 ........................................................................................................... 4 3.1.2 检查用户是否存在 ........................................................................................... 6 3.1.3 验证用户密码 ................................................................................................... 6 3.1.4 检查用户的 session,返回用户信息 .............................................................. 6 3.1.5 检查用户的 session,并刷新访问时间 .......................................................... 7 3.1.6 获取用户 session 中的变量 ............................................................................. 7 3.1.7 用户退出 ........................................................................................................... 8 3.2 组织维护....................................................................................................................... 8 3.2.1 创建组织 ........................................................................................................... 8 3.2.2 获取组织属性 ................................................................................................... 9 3.2.3 修改组织属性 ................................................................................................. 10 3.2.4 组织域名分配(添加/删除) ............................................................................. 11 3.2.5 组织 COS 分配(添加/修改/删除) ............................................................. 11 3.2.6 根据 COS 获取用户列表 ............................................................................... 12 3.2.7 获取站点所有组织标识列表 ......................................................................... 13 3.3 部门维护..................................................................................................................... 13 3.3.1 创建部门 ......................................................................................................... 13 3.3.2 删除部门 ......................................................................................................... 14 3.3.3 获取部门属性 ................................................................................................. 14 3.3.4 设置部门属性 ................................................................................................. 14 3.4 用户维护..................................................................................................................... 15 3.4.1 创建用户 ......................................................................................................... 15 3.4.2 删除用户 ......................................................................................................... 16 3.4.3 用户属性获取 ................................................................................................. 16 3.4.4 用户属性变更 ................................................................................................. 17 3.4.5 用户是否存在判定 ......................................................................................... 17 3.4.6 别名维护(添加/删除/获取) ....................................................................... 18 3.4.7 把用户设置为管理员 ..................................................................................... 19 3.4.8 修改用户主标识 ............................................................................................. 19
I 共 29 页

2 3

盈世信息科技(北京)有限公司 3.4.9 用户跨组织移动 ............................................................................................. 19 3.5 域名维护..................................................................................................................... 20 3.5.1 检查域名或者域名别名是否存在 ................................................................. 20 3.5.2 列出系统所有域名 ......................................................................................... 20 3.5.3 增加域名 ......................................................................................................... 21 3.5.4 删除域名 ......................................................................................................... 21 3.5.5 增加域别名 ..................................................................................................... 21 3.5.6 删除域别名 ..................................................................................................... 22 附录......................................................................................................................................... 22 4.1 API 配置文件说明 ..................................................................................................... 22 4.2 返回信息表................................................................................................................. 23 4.3 用户属性表................................................................................................................. 24

4

II

共 29 页

盈世信息科技(北京)有限公司

1 Coremail XT API 通用函数说明
APIContext 类提供一个工厂方法,产生一个的客户端连接 IClient 类型的实例,即 API 客户端对象。客户端对象可以进行多次调用 APIServer 的方法,进行操作,操作完成后客户 端请求对象 IClient 使用 close 方法关闭连接。 同时,IClient 类型的实例操作通常返回一个 APIContext 类型的对象,它记录客户端与 API Server 之间的连接信息。可以通过 APIContext.getRetCode 以及 APIContext.getResult 等 方法,获取 IClient 调用 APIServer 所得的结果。 以下为 APIContext 所提供的方法:

1.1 getClient(连接 APIServer 使用的 socket) 连接
public static final IClient getClient(java.net.Socket socket) throws java.io.IOException
功能: 行多次 API 操作, 操作完成后请使用 IClient.close() 来关闭连接。 请注意, 每个 client(socket)只能在一个 thread 中使用, 如果需要 并发请为每个 thread 申请单独的连接 入口参数: socket 返回值类型: 客户对象 抛出异常类型: java.lang.NullPointerException: 当传入的 socket 为 null java.io.IOException 连接 APIServer 使用的 socket 根据 socket 获取 API 客户对象,客户对象可以进

1.2 getRetCode(获取操作的返回值) (获取操作的返回值)
public final int getRetCode()
功能: 返回值类型: 使用类的静态常量定义(例如:public static final int RC_NORMAL) ,各 自的含义为: 获取操作的返回值

1

共 29 页

盈世信息科技(北京)有限公司 RC_NORMAL: RC_ASSWORD_ERR: RC_SES_ERROR Session: RC_SESID_NOT_FOUND: RC_USER_EXIST: RC_USER_NOT_FOUND 操作成功 用户密码错误 错误 Session ID 不存在或已经过时 用户已存在 : 用户不存在

1.3 getResult(操作的返回结果) (操作的返回结果)
public final java.lang.String getResult()
功能: 义) 返回值类型: 请参考各个 API 函数调用的说明 操作的返回结果(只对有返回结果的操作才有意

1.4 getResultEx(返回操作的返回结果) (返回操作的返回结果) 作的返回结果
getResultEx() public final Object getResultEx()
功能: 返回其它数据类型. 返回值类型: 操作的返回结果. 返回操作的返回结果. 和 getResult 不同的是, 此方法可以

1.5 getErrorInfo(描述操作失败原因) ( 描述操作失败原因)
public final java.lang.String getErrorInfo()
功能: 返回值类型: 失败原因的描述字符串 操作失败时对操作失败原因的描述字符串

1.6 toString(返回操作结果的字符串表示) (返回操作结果的字符串表示) 符串表示
public final String toString()
功能: 返回值类型: 操作结果的字符串表示 返回操作结果的字符串表示

2

共 29 页

盈世信息科技(北京)有限公司

1.7 close(释放连接与资源) (释放连接与资源)
public void close() throws java.io.IOException
功能: 释放连接,并释放执行中申请的资源 抛出异常类型: Java.io.IOException

2 API 函数的使用步骤
配置访问 Coremail API 服务器的 ip 用户通过调用 API 接口函数进行二次开发前,请用户预先配置好要访问 API 机器 的 ip。 如果不设置访问机器的 ip,用户将不允许进行 API 访问。配置方法如下: 1. 2. 登录系统管理界面,点击全局设定功能 选择配置管理中的“API”如下图,在“IP 设置”一栏中设置好要访问机器的 ip

使用 Coremail XT 的 API 库: 1. 2. 3. 程序过程: 程序过程:
3 共 29 页

将所提供的 APIClient.jar 添加到的运行环境中(classpath) 参考实例程序:APIDemo.java

盈世信息科技(北京)有限公司 1. 实例化 java.net.Socket 类,建立网络连接 2. 利用 1 建立的 Socket 实例,使用 APIContext.getClient(java.net.Socket socket)提供的工厂方法,获取客户端的 IClient 的对象实例 3. 用 IClient 的 createUser,changeAttrs,setTimeOut 等成员函数执行具体任 务,返回 APIContext 类型的对象,通过 APIContext.getRetCode 以及 APIContext.getResult 方法获取返回结果。 4. 用 IClient 的实例的 close 方法关闭连接 API java 接口调用方法:apiSubmit(String encodedCommand) 接口调用方法: 其中 cmd=x&.....&attrs=URL 编码过的 attrs 属性。attrs 属性,为输入批量属性。 范例: 可参考 范例:(可参考 APIDemo.java) Socket socket = new Socket("127.0.0.1", 9999); IClient client = APIContext.getClient(socket); try { APIContext ret = client.createUser("1", "a", "foo", "domain_name=bar.com&cos_id=1&user_status=0&quota_delta=0"); if (ret.getRetCode() == APIContext.RC_NORMAL) { System.out.println("User created: foo@bar.com"); } else { System.out.println("User create failed, code=" + ret.getRetCode() + ", msg=" + ret.getErrorInfo()); } } finally { client.close(); }

3 Coremail XT API 具体功能应用
3.1 登录
3.1.1 用户登录
cmd 命令号:5 命令号: 方法名称: 方法名称:userLogin
功能: 用户登录, 使用所有缺省参数.
4 共 29 页

盈世信息科技(北京)有限公司 入口参数: user_at_domain 返回值类型: 操作成功时,返回到 APIContext:result 的是用户的 session ID 抛出异常类型: java.io.IOException 用户邮件地址: user_id@domain_name

cmd 命令号:5 命令号: 方法名称: 方法名称:userLoginEx
功能: 入口参数: user_at_domain - 用户邮件地址: user_id@domain_name attrs - 操作属性, 属性值中如果有特殊字符必须用 url 的方式编码, 如等于号 "=" 编码为 "%3D"。 详细说明: 操作成功时,返回到 APIContext:result 为 encode 的用户属性字符串: "sid=[用户 的 session id]&webname=[web 主机前缀]"; web 主机前缀包含协议,机器 IP,端口部 分, 并且结尾不包含 '/' 符号 ? 例如: http://web1.abc.com ? 又如: http://web2.abc.com:8080 支持的操作属性, 见下表: 属性名 属性含义 登录类型: 例如 "WEB" / "API" (默认) 这样的字符串 (Coremail XT U3 后才支持) 所有支持的类型包括: "WEB" / "POP3" / "IMAP" / "SMTP" / "API" 登录用户的 IP 仅为 "1" 时表示需要检查浏览器的 IP 用户登录, 使用附加参数,并返回额外的信息

type

remote_ip ipcheck

cookiecheck 检查浏览器的 cookie 值 language style 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参 考返回信息表。 抛出异常类型: java.io.IOException 登录的语言, 和配置有关, 为 "0" / "1" 等数字 登录的风格, 和配置有关, 为 "0" / "1" 等数字

5

共 29 页

盈世信息科技(北京)有限公司

3.1.2 检查用户是否存在
cmd 命令号:4 命令号: 方法名称: 方法名称:userExist
功能: 入口参数: user_at_domain 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参考 返回信息表。 抛出异常类型: java.io.IOException 用户邮件地址: user_id@domain_name 检验用户是否存在

3.1.3 验证用户密码
cmd 命令号:12 命令号: 方法名称: 方法名称:authenticate
功能: 入口参数: user_at_domain password 返回值类型: APIContext 的 retCode 是验证结果,0 表示验证通过,35 表示验证失败,其它返回值 参照说明 。关键错误代码包括: APIContext.RC_USER_NOT_FOUND: 用户不存在 APIContext.RC_PASSWORD_ERR: 抛出异常类型: java.io.IOException 密码验证失败 用户邮件地址: user_id@domain_name 用户密码 验证用户密码.

3.1.4 检查用户的 session,返回用户信息 ,
cmd 命令号:9 命令号: 方法名称: 方法名称:sesTimeOut
功能: 入口参数: 检查用户 session,并返回用户的信息.

6

共 29 页

盈世信息科技(北京)有限公司 ses_id 返回值类型: 操作成功时,返回到 APIContext:result 的格式为: uid=...@...&domain_id=...&org_id=...,而 uid 为 user@domain 的格式,即用户的邮件 地址 关键错误代码包括: APIContext.RC_SESID_NOT_FOUND: session ID 不存在或已经过时 APIContext.RC_SES_ERROR 或其它值: 其它的 session 错误 抛出异常类型: java.io.IOException 用户 session ID

3.1.5 检查用户的 session,并刷新访问时间 ,
cmd 命令号:10 命令号: 方法名称: 方法名称:sesRefresh
功能: 入口参数: ses_id 返回值类型: 操作成功时,除了返回值没有其它信息,表示传入的是合法的 session,并且已经刷新. 关键错误代码: APIContext.RC_SESID_NOT_FOUND: session id 不存在或已经过时 APIContext.RC_SES_ERROR 或其它值: 其它的 session 错误 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 用户 session id 检查用户 session,并刷新访问时间.

3.1.6 获取用户 session 中的变量
cmd 命令号:8 命令号: 方法名称: 方法名称:getSesssionVar
功能: 入口参数: ses_id ses_key 用户 session id 要获取的变量名
7 共 29 页

获取用户 session 中的变量.

盈世信息科技(北京)有限公司 返回值类型: 操作成功时,变量的值直接返回到 APIContext:result 关键错误代码: 关键错误代码: APIContext.RC_SESID_NOT_FOUND: session id 不存在或已经过时 APIContext.RC_SES_ERROR 或其它值: 其它的 session 错误 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.1.7 用户退出 用户退出
cmd 命令号:6 命令号: 方法名称: 方法名称:userLogout
功能: 入口参数: ses_id 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参考 返回信息表。 抛出异常类型: java.io.IOException 用户 session ID 结束用户 session

3.2 组织维护
3.2.1 创建组织
cmd 命令号:22 命令号: 方法名称: 方法名称:addOrg

功能: 入口参数:

创建企业组织

org_id - String 企业 ID attrs - String 企业属性串 attrs 的格式,&号分隔的 key=value,例如: cos_id=1&number_of_classes=100... 可用属性(可选)如下表:
8 共 29 页

盈世信息科技(北京)有限公司

属性名 org_name domain_name res_grp_id

属性含义 企业名称, 如果不提供则 org_name=OrgID 企业的许可域名。 如果是不存在的域名会先自动创建 域名 资源组 ID, 如果不填则使用 programs/RmiServer/APIDefaultRes 下的配置值 创建企业时可指定一个 COS ID, 并分配数量。 缺省 取 programs/RmiServer/APIDefaultCos 下的配置值 (配 置值用 cos_name 指定 COS) 指定的 COS ID 类型用户数限制, 企业状态(0 正常 1 暂停 2 锁定) 过期日期。NULL 或者空表示不过期。 格式为: yyyy-mm-dd 地址 电话 联系人

cos_id num_of_classes org_status org_expiry_date org_address org_phone_number org_contact

org_assignable_quota 可分配容量

返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.2.2 获取组织属性
cmd 命令号:24 命令号: 方法名称: 方法名称:getOrgInfo
功能: 入口参数: 获取企业组织属性

org_id - String 企业 ID attrs - String 企业属性串 可获取属性(可选)如下表: 属性含义 属性名 org_name domain_name res_grp_id 企业名称 企业的许可域名列表, 以逗号","分隔 资源组 ID

org_assignable_quota 可分配容量
9 共 29 页

盈世信息科技(北京)有限公司

org_status org_expiry_date org_address org_phone_number org_contact not_used_quota
返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

企业状态(0 正常 1 暂停 2 锁定) 过期日期。NULL 或者空表示不过期。格式为: yyyy-mm-dd 地址 电话 联系人 此 ORG 还剩余的容量,单位 M

3.2.3 修改组织属性
cmd 命令号:23 命令号: 方法名称: 方法名称:alterOrg
功能: 入口参数: 修改企业组织属性

org_id - String 企业 ID attrs - String 企业属性串 可修改属性 属性名 org_name org_status org_expiry_date org_address org_phone_number org_contact
返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

属性含义

企业名称 企业状态(0 正常 1 暂停 2 锁定) 过期日期。NULL 或者空表示不过期。 格式为: yyyy-mm-dd 地址 电话 联系人

org_assignable_quota 可分配容量

10

共 29 页

盈世信息科技(北京)有限公司

3.2.4 组织域名分配(添加 删除 组织域名分配 添加 删除) 添加/删除
cmd 命令号:26 命令号: 方法名称: 方法名称:addOrgDomain
功能: 入口参数: org_id - 企业 ID domain_name - 要分配的许可域名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 添加组织企业的许可域名

cmd 命令号:27 命令号: 方法名称: 方法名称:delOrgDomain
功能: 入口参数: org_id - 企业 ID domain_name - 要分配的许可域名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 添加组织企业的许可域名

3.2.5 组织 COS 分配(添加 修改 删除) 分配(添加/修改 删除) 修改/删除
cmd 命令号:28 命令号: 方法名称: 方法名称:addOrgCos
功能: 入口参数: org_id - 企业 ID cos_name - 服务等级名称 num_of_classes - 该服务等级的用户数 返回值类型: 操作结果, 见附录的说明
11 共 29 页

为指定组织企业添加一种 COS(服务等级).

盈世信息科技(北京)有限公司 抛出异常类型: java.io.IOException

cmd 命令号:29 命令号: 方法名称: 方法名称:alterOrgCos
功能: 入口参数: org_id - 企业 ID cos_name - 服务等级名称 num_of_classes - 该服务等级的用户数 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 修改指定组织企业一种 COS(服务等级).

cmd 命令号:30 命令号: 方法名称: 方法名称:delOrgCos
功能: 入口参数: org_id - 企业 ID cos_name - 服务等级名称 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 删除指定组织企业一种 COS(服务等级).

3.2.6 根据 COS 获取用户列表
cmd 命令号:42 命令号: 方法名称: 方法名称:getOrgCosUser
功能: 入口参数: org_id - 企业 ID cos_id - 服务等级 ID 返回值类型: 用户名不包含“@domain"信息 列出指定企业某服务等级(COS)下的所有用户名列表.

12

共 29 页

盈世信息科技(北京)有限公司 操作成功时, 返回到 APIContext:result 为要获取的用户列表, ","分隔,如 user1,user2,user3 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.2.7 获取站点所有组织标识列表
cmd 命令号:43 命令号: 方法名称: 方法名称:getOrgList
功能: 列出所有企业 ID.

返回值类型: 操作成功时, 返回到 APIContext:result 为要获取的用户列表, ","分隔,如 user1,user2,user3 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.3 部门维护
3.3.1 创建部门
cmd 命令号:304 命令号: 方法名称: 方法名称:addUnit
功能: 门。 入口参数: org_id - 企业 ID org_unit_id - 部门 ID attrs - 要设置的部门属性, parent_org_unit_id 设置上级 部门的 ID, org_unit_name 设置 部门名称 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 创建企业部门。 如果不设置 parent_org_unit_id 属性则表示创建直属部

13

共 29 页

盈世信息科技(北京)有限公司

3.3.2 删除部门
cmd 命令号:305 命令号: 方法名称: 方法名称:delUnit
功能: 删除组织企业部门。入口参数: org_id - 企业 ID org_unit_id - 部门 ID 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.3.3 获取部门属性
cmd 命令号:306 命令号: 方法名称: 方法名称:getUnitAttrs
功能: 属部门。 入口参数: org_id - 企业 ID org_unit_id - 部门 ID attrs -要获取的部门属性, parent_org_unit_id 获取上级 部门的 ID, org_unit_name 获取 部门名称 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 获取企业部门信息。 如果不设置 parent_org_unit_id 属性则表示创建直

3.3.4 设置部门属性 设置部门属性
cmd 命令号:307 命令号: 方法名称: 方法名称:setUnitAttrs
功能: 设置组织企业部门。如果设置 parent_org_unit_id 属性则相当于移动部 门, 如果想移动到根成为直属部门, 可以使用 "parent_org_unit_id=" 作为 attrs 参

14

共 29 页

盈世信息科技(北京)有限公司 数。例如:要想部门在排序中排在前面,则须设置" org_unit_list_rank =",排序以数 字大的优先,即数字越大,排位越靠前。 入口参数: org_id - 企业 ID org_unit_id - 部门 ID attrs - 要设置的部门属性, parent_org_unit_id 设置上级 部门的 ID, org_unit_name 设置 部门名称 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.4 用户维护
3.4.1 创建用户
cmd 命令号:0 命令号: 方法名称:createUser 方法名称:
功能: 入口参数: providerId 用户的 provider id, 必须为存在的 provider,属性 password 创建用户

如果不设置将使用缺省值为随机密码 org_id user_id attrs 用户的企业 id, 必须为存在的企业 用户 id, 满足 rfc 规定的用户名 用 户 的 其 它 属 性 , 如 :

"domain_name=163.com&user_status=0&cos_id=1&quota_delta=0", 属性值中如果有特殊 字符必须用 URL 的方式编码, 如等于号 "=" 编码为 "%3D"。 welcome_index 用户可通过传递"welcome_index"参数配置是否发送欢迎信,

如:当不传递 "welcome_index" 或者传递 "welcome_index=-1" (任意小于等于 0 的 值) ,都会发送普通的欢迎信;而当传递 "welcome_index=1" 时发送"Welcome1" 对应 的欢迎信,其他大于 0 的值"welcome_index"都不发送欢迎信。 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参

15

共 29 页

盈世信息科技(北京)有限公司 考返回信息表。 抛出异常类型: java.io.IOException

3.4.2 删除用户
cmd 命令号:2 命令号: 方法名称: 方法名称:deleteUser
功能: 入口参数: user_at_domain 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参 考返回信息表。关键错误代码包括: APIContext.RC_USER_NOT_FOUND: 抛出异常类型: java.io.IOException 用户不存在 用户邮件地址: user_id@domain_name 删除用户

3.4.3 用户属性获取
cmd 命令号:3 命令号: 方法名称: 方法名称:getAttrs
功能: 入口参数: user_at_domain attrs 用户邮件地址: user_id@domain_name 要获取的用户属性(说明), 只有名称, 属性值可以为空 获取用户属性.

其中如果想获取用户邮箱的 “未读邮件数” 和“未读邮件大小”可分别用属性 mbox_newmsgcnt 和 mbox_newmsgsize。 又例如: "truename=&quota_delta=" 返回值类型: 操作成功时,返回到 APIContext:result 为 encode 的用户属性字符串,如: "truename=abc&quota_delta=100" APIContext 的 retCode 是操作结果,0 表示操作成功,其它返回值参照说明。关键 错误代码包括:APIContext.RC_USER_NOT_FOUND: 用户不存在
16 共 29 页

盈世信息科技(北京)有限公司 抛出异常类型: java.io.IOException

3.4.4 用户属性变更
cmd 命令号:1 命令号: 方法名称: 方法名称:changeAttrs
功能: 入口参数: user_at_domain attrs 用户邮件地址: user_id@domain_name 用 户 的 其 它 属 性 , 如 : 设置用户属性.

"domain_name=163.com&user_status=0&cos_id=1&quota_delta=0", 属性值中如果有特殊 字符必须用 URL 的方式编码, 如等于号 "=" 编码为 "%3D"。 例如: 如果用户在排序中 排在前面,可以设置“user_list_rank=” ,排序以数字大的优先,即数字越大,排位越靠 前。 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参 考返回信息表。 抛出异常类型: java.io.IOException

3.4.5 用户是否存在判定
cmd 命令号:4 命令号: 方法名称: 方法名称:userExist
功能: 入口参数: user_at_domain 返回值类型: APIContext 的 retCode 是操作结果,0 表示操作成功,其他值代表操作失败,请参 考返回信息表。 抛出异常类型: java.io.IOException 用户邮件地址: user_id@domain_name 检验用户是否存在

17

共 29 页

盈世信息科技(北京)有限公司

3.4.6 别名维护(添加/删除 获取) 别名维护(添加 删除 获取) 删除/获取
cmd 命令号:45 命令号: 方法名称: 方法名称:addSmtpAlias
功能: 入口参数: user_at_domain - 用户名 alias_user_at_domain - 要添加的用户别名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 为指定用户 ID 添加 smtp 别名

cmd 命令号:47 命令号: 方法名称: 方法名称:delSmtpAlias
功能: 删除指定用户的某 smtp 别名

入口参数: user_at_domain - 用户名 alias_user_at_domain - 要删除的用户别名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

cmd 命令号:46 命令号: 方法名称: 方法名称:getSmtpAlias
功能: 列出指定用户的所有 smtp 别名 操作成功时,返回到 APIContext:result 为要获取的用户 smtp 别名列表, ","分隔,如 alias1,alias2,alias3, 入口参数: user_at_domain - 用户名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException
18 共 29 页

盈世信息科技(北京)有限公司

3.4.7 把用户设置为管理员
cmd 命令号:40 命令号: 方法名称: 方法名称:setOA

功能: 入口参数:

设置指定用户为企业管理员

user_at_domain – 用户名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.4.8 修改用户主标识
cmd 命令号:59 命令号: 方法名称: 方法名称:renameUser
修改用户 ID

功能: 入口参数:

user_at_domain – 用户名 new_user_id - 新的用户 ID 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.4.9 用户跨组织移动 用户跨组织移动
cmd 命令号:60 命令号: 方法名称: 方法名称:moveUser
功能: 入口参数: user_at_domain – 用户名 attrs - 用户新位置/属性
19 共 29 页

用户跨组织移动

盈世信息科技(北京)有限公司 属性名
org_id org_unit_id

属性含义 新组织标识符 新部门标识符,默认为根部门

返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

3.5 域名维护
3.5.1 检查域名或者域名别名是否存在 检查域名或者域名别名是否存在 或者域名别名
cmd 命令号:49 命令号: 方法名称: 方法名称:domainExist
功能: 入口参数: domain_name– 要检查的域名或者域名别名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 检查域名或者域名别名是否存在

3.5.2 列出系统所有域名
cmd 命令号:51 命令号: 方法名称: 方法名称:getDomainList
功能: 列出系统中所有的域名 操作成功时,返回到 APIContext:result 为域名列表,","分隔 如:abc.com,hij.net 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

20

共 29 页

盈世信息科技(北京)有限公司

3.5.3 增加域名 增加域名
cmd 命令号:31 命令号: 方法名称: 方法名称:addDomain25
功能: 入口参数: domain_name– 域名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 增加指定的域名

3.5.4 删除域名
cmd 命令号:26 命令号: 方法名称: 方法名称:delDomain25
功能: 入口参数: domain_name– 要删除的域名 返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException 删除指定的域名

3.5.5 增加域别名
cmd 命令号:32 命令号: 方法名称:addDomainAlias 方法名称:
功能: 入口参数: domain_name– 域名 增加指定域名别名

domain_name_alias - 要增加的域名别名
返回值类型: 操作结果, 见附录的说明 抛出异常类型:

21

共 29 页

盈世信息科技(北京)有限公司 java.io.IOException

3.5.6 删除域别名
cmd 命令号:33 命令号: 方法名称: 方法名称:delDomainAlias
功能: 入口参数: domain_name– 域名 删除指定域名别名

domain_name_alias - 要删除的域名别名
返回值类型: 操作结果, 见附录的说明 抛出异常类型: java.io.IOException

4 附录
4.1 API 配置文件说明
Coremail XT 邮件系统的 API Server 模块支持用户使用 API,调用系统函数进行二次开 发。API Server 端需要 API 配置文件,通常由系统安装时完成配置即可,用户不需要更改配 置的内容。配置文件的具体配置项和含义如下: Section Datasources/[section],其中 section 由 JDBCDriver programs/mdsvr/MDDataSource 指定 同上 同上 同上 Services/cmrmi Services/cmapi Programs/RmiServer 同上 同上 同上
22

配置项

含义

数据库驱程 数据库 URL 连接数据库的用户名 连接数据库的密码 RMI 服务器的端口 API 服务器端口 事务文件路径 标记所在机器的 Host Log 的级别层次 日志文件的保存路径
共 29 页

JDBCUrl User Password Port Port APITransFilePath APIHost APILogLevel LogPath

盈世信息科技(北京)有限公司 同上 同上 Hosts/[section],其中 section 由 IP Coremail/default/Hostid 指定 Services/session_TCP webmail/global Port SessionTimeout 会话(Session)的端口 会话超时时间 本机 IP APIDefaultRes APIDefaultCos 缺省的 res_grp_id 缺省的 COS 名称

4.2 返回信息表
返回值代码 RC_NORMAL RC_ASSWORD_ERR RC_SES_ERROR RC_SESID_NOT_FOUND RC_USER_EXIST RC_USER_NOT_FOUND 描述 操作成功 用户密码错误 Session 错误 Session ID 不存在或已经过时 用户已存在 用户不存在

当返回值不等于以上常见代码时,可以参考 C 版本的返回值列表,注意应该采用根据 返回的数值而不是返回代码进行错误原因的分析。

C 版本返回值代码 API_OTHER_ERROR API_OK API_CONNECT API_CLOSE API_WRITE API_READ API_NOMEM API_USEREXIST API_UIDINVALID API_GETATTRERR API_USRNOTFOUND


-1 0 1 2 3 4 5 8 9 17 19
23

描述 其他错误,比如 API 命令不存在 成功 网络连接错误 网络关闭错误 网络写操作错误 网络读操作错误 内存不足 用户已经存在 用户名字错误 在 Coremail 系统中读取用户属性错误 用户不存在
共 29 页

盈世信息科技(北京)有限公司 API_DOMAINNOTEXIST API_ERRINNET API_SESIDNOTFOUND API_PASSWORD_ERR API_USERDISABLE API_PARAM_ERR API_DB_ERR API_INVALID_UDATTR API_MAILBOX_EXIST API_MAILBOX_NOT_FOUND API_PIDINVALID API_QUOTAERR API_SES_ERR API_PIPE_ERROR API_USERISPROXY API_USERISNOTACTIVE 20 21 28 35 37 39 42 43 44 45 46 47 48 49 50 51 域不存在 网络错误 Session Id 不存在 密码错误 用户帐号被禁止 参数错误 数据库出错 无效的 UD 属性 MAILBOX 已经存在 MAILBOX 不存在 PID 无效 容量错误 session 出错 连接 java_apisvr 出错 用户处于 proxy 状态 非活跃状态的用户

4.3 用户属性表
Coremail 属性表包括各种用户信息,包括存储在 Coremail MD 以及 UD 模块的字段, 客户端可以通过 Coremail API 完成对用户属性的修改。开发人员应严格按照范例进行开发, 避免对用户造成不良影响。 属性名 用户状态信息 cos welcome_index user_list_rank user_status domain_name quota_delta user_expiry_date org_unit_id int int int int text int txt text 用户的 COS(服务等级) 设置是否接收欢迎信 用户列表排序 用户状态,0 为活动用户 用户所在域名 用户附加容量 用户过期日, 格式(yyyy-MM-dd), 为空则永不过期 用户部门 id (此属性可通过 changeAttrs 进行修改)
24 共 29 页

类型

描述

盈世信息科技(北京)有限公司 用户邮箱参数设置属性 password language forwarddes forwardactive keeplocal timezone afterdel 用户注册个人信息 alt_email pwd_hint_question pwd_hint_answer true_name nick_name pager_number mobile_number home_phone company_phone fax_number gender province city country birthday address zipcode homepage text text text text text text text text itext text int int text text text text int text 用户的其它 email 地址 “忘记密码”功能中的问题 “忘记密码”功能中的答案 用户的真实姓名 昵称 用户的传呼台号码 手机号码 家庭电话 公司电话 传真号码 性别 省份 城市 国家 生日 (格式:YYYY—MM—DD) 地址 邮编 个人主页 text int text int int int int 加密后的用户密码 语言 自动转发 - 转发地址 自动转发 - 转发功能是否生效 自动转发 - 是否在本站保存 时区 删除邮件后,是返回收件箱还是跳到下一封信

25

共 29 页


相关文章:
Coremail XT V2.0 高级API使用手册(Java版).doc
Coremail XT V2.0 高级API使用手册(Java版)_IT/计算机_专业资料。Coremail XT V2.0 高级 API(Java)使用手册 () 盈世信息科技(北京)有限公司 Coremail. ...
Coremail_XT_高级API使用手册(Java版).doc
Coremail_XT_高级API使用手册(Java版)_IT/计算机_专业资料。Coremail XT 高级 API(Java)使用手册 盈世信息科技(北京)有限公司 Coremail. Copyright 2000-2009 ...
Coremail 4.0 高级API使用手册(Java版).doc
Coremail 4.0 高级API使用手册(Java版)_计算机硬件及网络_IT/计算机_专业资料。...Coremail XT V2.0 高级A... 29页 免费 Coremail XT V2.0 标准A... ...
Coremail XT V2.0 系统工具使用手册_图文.doc
Coremail XT V2.0 系统工具使用手册_IT/计算机_...Java RMI 服务启动管理工具 系统管理界面/站点管理...cmapi_c sslsvr reportspamsvr sitegate rmiserver...
Coremail XT V3.0 管理使用手册_图文.doc
Coremail XT V3.0 管理使用手册_互联网_IT/计算机...高级(强) :如果还能满足以下条件,则密码强度认为是...如 web/POP3/IMAP/SMTP/API 及其他登录时使用密码...
Coremail XT V2.0 Webmail Ajax使用手册.doc
Coremail XT V2.0 Webmail Ajax使用手册_IT/计算机_专业资料。coremail2.0 使用手册 Coremail XT V2.0 Webmail Ajax 使用手册 盈世信息科技(北京) 盈世信息...
Coremail XT V2.0企业管理使用手册.doc
Coremail XT V2.0 高级API... 29页 免费 Coremail XT V2.0 标准API... ...Coremail XT V2.0 企业管理使用手册 盈世信息科技(北京)有限公司 Copyright 2000...
Coremail XT V2.0组织管理员使用手册.doc
Coremail XT V2.0 组织管理员使用手册 组织管理员使用手册 盈世信息科技(北京)有限公司 Copyright 2000-2009 Coremail System http://www.mailtech.cn 销售咨询...
Coremail XT V2.0 Webmail Html使用手册_图文.doc
Coremail XT V2.0 Webmail Html使用手册_IT/计算机_专业资料。coremail2.0 使用手册 Coremail XT V2.0 Webmail Html 使用手册 盈世信息科技(北京) 盈世信息...
Coremail XT V2.0 快速安装手册.doc
Coremail XT V2.0 快速安装手册 盈世信息科技(北京)有限公司 Copyright 2000-...Coremail_XT_高级API使用... 29页 免费 Coremail XT V2.0组织管... ...
Coremail XT V2.0 Anti-virus使用手册.doc
Coremail XT V2.0 高级API... 29页 免费 Coremail XT V2.0 标准API... ...反病毒邮件模块(Antis-virus)的应用背景、技术特色以及系统管理员操作指南。...
coremail邮箱配置操作手册.doc
coremail邮箱配置操作手册 - Coremail-XT-V2.0,api,webservice,oa,集成,断点登录... Coremail-XT-V2.0,api,webservice,oa,集成,断点登录 1:首先需要到邮件系统...
Coremail XT Webmail使用手册(Ajax版).doc
Coremail XT V2.0 Webmail... 59页 免费 Coremail_XT_高级API使用手... ...Coremail XT Webmail 使用手册(Ajax 版) 盈世信息科技(北京)有限公司 Coremail...
Coremail XT V3.0 反垃圾管理使用手册_图文.doc
Coremail XT V3.0 反垃圾管理使用手册_电脑基础知识_IT/计算机_专业资料。Core...Coremail XT V2.0 高级A... 29页 免费 Coremail_XT_高级API使用... 29...
CoremailAPI.doc
Coremail XT 基础 API(C)使用手册 () 盈世信息...java_apisvr 出错 用户处于 proxy 状态 非活跃状态...Coremail XT V2.0组织管... 24页 免费 滟澜山...
Coremail企业管理使用手册.doc
反垃圾管理 具体内容请查看《Coremail XT V2.0 反垃圾管理使用手册》 3 管理...Coremail 4.0 高级API使... 暂无评价 43页 免费 Coremail Push电子邮件推.....
Coremail XT Webmail Ajax使用手册.doc
Coremail XT Webmail Ajax使用手册_IT/计算机_专业...Coremail XT V2.0 Webma... 55页 免费 ...Coremail_XT_高级API使用... 29页 免费 Core...
Coremail XT V2[1]0 组织通讯录使用手册.doc
Coremail XT V2.0 组织通讯录使用手册 盈世信息科技(北京)有限公司 Copyright ...Coremail XT V2.0 标准A... 17页 免费 Coremail_XT_高级API使用... ...
Core Java Concurrency 多线程小手册(基本涵盖多线程所....doc
core java 36页 免费 Coremail XT V2.0 高级API... 29页 免费喜欢...Core Java Concurrency 多线程小手册(基本涵盖多线程所有要点) Core Java Concurrency...
Coremail XT V2[1].0 组织通讯录使用手册.doc
Coremail XT V2.0 组织通讯录使用手册 盈世信息科技(北京)有限公司 Copyright ...Coremail_XT_高级API使用... 29页 免费 喜欢此文档的还喜欢 Coremail XT...