获取邮件的系统及方法

文档序号:7695541阅读:156来源:国知局
专利名称:获取邮件的系统及方法
技术领域
本发明涉及计算机和通信技术领域,尤其涉及一种高效使用不同用户标
识符文件来获取Lotus Domino邮件服务器中相应用户邮件的系统及方法。
背景技术
随着计算机网络和通信技术的发展,人们对互联网以及相关电子服务的 使用越来越普遍,Lotus Domino邮件服务器作为一种先进的单一架构的文档 数据库和电子邮件系统,在电子协作、通讯、知识管理、流程控制等方面为 用户提供了很好的解决方案,特别是Lotus Domino邮件服务器的邮件功能, 使许多用户安装完Lotus Domino邮件服务器后,无需做更多的开发,即可在 单位内部架构强大的邮件系统,因而已成为群件系统的首选。
目前,现有技术中提供几种用户从Lotus Domino邮件服务器中获取邮件 的方案,下面着重介绍其中一种。
如图l所示,为其所采用的系统的结构示意图,其是利用Lotus公司提供 的C语言程序调用接口 ,编写Lotus Domino邮件服务器的插件程序,通过轮 询插件按轮询机制定时搜寻Lotus Domino邮件服务器中所有用户的邮箱,并 获取新到达电子邮件内容及附件信息。
在实现本发明的过程中,发明人经过研究发现在上述现有技术中,需 要使用一个附加Domino服务器标识符文件来访问服务器,如果访问邮件库, 则每个要访问的用户邮件库都需要给该标识符文件开发权限,管理和安全性 上都存在问题,而且需要安装附加Domino服务器,在部署方面也很不方便, 并且成本较高。

发明内容
本发明提供一种获取邮件的系统及方法,能够减轻Lotus Domino邮件服务器的压力,提高系统的安全性和可实施性。
本发明提供以下技术方案
本发明提供一种获取邮件的系统,经过防火墙与Internet连接,所述系统 包括一台或多台Lotus Domino邮件服务器及一台PUSHMail代理服务器,其 中
所述PUSHMail代理服务器,用于根据PUSHMail代理服务器的配置启 动轮询进程,判断所述Lotus Domino邮件服务器是否有新邮件,当有新邮件 时,进一步确定有更新邮件的用户邮件库;获取与所述用户邮件库对应的用 户标识符文件和口令,修改轮询进程配置文件,切换用户身份,获取邮件内 容和附件;将邮件编码加密保存,经过防火墙转发到终端设备。
优选的,所述Lotus Domino邮件服务器包括用户邮件库和系统数据库; 所述PUSHMail代理服务器包括轮询模块、用户标识符文件及客户端; 所述轮询模块根据PUSHMail代理服务器的配置启动轮询进程,并根据Lotus Domino邮件服务器的繁忙程度确定启动轮询进程的个数;根据创建的配置文 件,及查询Lotus Domino邮件服务器中系统数据库,获取用户邮件库的位置, 进而获取用户邮件库的最新状态;当有新邮件时,获取用户邮件库状态的改 变,并修改轮询进程配置文件,切换用户身份为该用户标识符文件;使用该
的数据存储成文件进行加密,并采用同终端设备协商好的编码算法进行编码 转换,并通知终端设备收取。
优选的,所述轮询模块通过打开系统数据库时花费的时间判断Lotus Domino邮件服务器的繁忙程度。
优选的,所述轮询模块通过Lotus Domino邮件服务器提供的c程序调用 接口调用客户端提供的动态库来获取用户邮件库状态的改变。
优选的,所述轮询模块根据用户注册的手机号码修改轮询进程配置文件。
优选的,所述轮询模块使用该用户标识符文件的身份从相应的用户邮件 库中获取邮件内容和附件具体为
所述轮询模块使用该用户标识符文件的身份打开对应的用户邮件库,使用新邮件的判定规则查找新邮件,并获取邮件的内容和附件,其中,所述判 定MJ'j为邮件的最后更新时间。
本发明还提供一种获取邮件的方法,包括以下步骤
根据PUSHMail代理服务器的配置启动轮询进程,判断所述Lotus Domino 邮件服务器是否有新邮件;
当有新邮件到达时,确认有更新邮件的用户邮件库;
获取与所述用户邮件库对应的用户标识符文件和口令,^修改轮询进程配 置文件,切换用户身份,获取邮件内容和附件;
将邮件编码加密保存,并通知终端设备收取。
优选的,所述根据PUSHMail代理服务器的配置启动轮询进程,判断所 述Lotus Domino邮件服务器是否有新邮件的步骤进一步包括
根据PUSHMail代理服务器的配置启动轮询进程,并通过打开系统数据 库时花费的时间确定Lotus Domino邮件月良务器的繁忙程度,才艮据Lotus Domino邮件服务器的繁忙程度确定启动轮询进程的个数,根据创建的配置文 件,及查询Lotus Domino邮件服务器中系统数据库,获取用户邮件库的位置, 进而获取用户邮件库的最新状态。
优选的,所述当有新邮件到达时,确认有更新邮件的用户邮件库的步骤 进一步包括
当有新邮件到达时,通过Lotus Domino邮件服务器提供的c程序调用接 口调用客户端提供的动态库来获取用户邮件库状态的改变。
优选的,所述获取与所述用户邮件库对应的用户标识符文件和口令,修 改轮询进程配置文件,切换用户身份,获取邮件内容和附件的步骤进一步包 括
根据用户注册的手机号码修改轮询进程配置文件,切换用户身份为该用 户标识符文件,使用该用户标识符文件的身份打开对应的用户邮件库,使用 新邮件的判定规则查找新邮件,并获取邮件内容和附件;其中,所述判定规 则为邮件的最后更新时间。
通过以上技术方案,本发明只需在现有系统的基础上再搭建一 台PUSHMail力l务器即可完成邮件的获耳又工作,无需对现有Lotus Domino邮件 服务器做任何改动,就可以保证企业邮件服务器的稳定运行。
通过轮询模块根据Lotus Domino邮件服务器的繁忙情况,按照确定的规 则启动不同个数的轮询进程,可以减轻现有Lotus Domino邮件服务器的压力。
通过轮询进程监控用户邮件库的状态,并判断是否有新邮件,从而可以 最大限度的增加邮件获取的实时性,并且不会给Lotus Domino邮件服务器造 成压力。
此外,在访问用户邮件库时采用支持NRPC协议的Domino的C程序接 口调用并使用用户自己的标识符文件,从而大大增加了系统的安全性和可实 施性。


图1为现有技术中系统的结构示意图2为本发明实施例4是供的系统的结构示意图3为本发明实施例提供的方法流程图4为本发明另一实施例提供的方法流程图。
具体实施例方式
本发明提供一种获取邮件的系统及方法,能够减轻Lotus Domino邮件服 务器的压力,提高系统的安全性和可实施性。为使本发明的目的、技术方案 及优点更加清楚明白,下面参照附图并举实施例,对本发明进一步详细说明。
如图2所示,为本发明提供的获取邮件的系统结构实施例示意图。该系 统包括 一台或多台Lotus Domino邮件服务器1和一台PUSHMail代理服务 器2,系统经过防火墙3与Internet连接。其中,Lotus Domino邮件服务器1 中包含用户邮件库101-103和names.nsf系统数据库11。 PUSHMail代理服务 器2中包含轮询模块21-22、用户标识符文件201 - 203及notes客户端23。 其中,所述names.nsf系统数据库11为邮件系统的公共通讯录,轮询模块21-22 可以从该数据库中获取用户的邮件库地址;所述标志符文件201 - 203在注册用户时上传到Lotus Domino邮件服务器。
在该系统中,轮询模块21-22根据PUSHMail代理服务器的配置启动轮询 进程,其中,所述配置包括系统连接的数据库信息、系统的一些全局变量等, 并根据Lotus Domino邮件服务器的繁忙状况判定启动的轮询进程的个数,其 中所述判断Lotus Domino邮件服务器的繁忙状况的主要根据可以是打开数据 库时花费的时间,轮询进程根据创建自己的配置文件205-206,及查询Lotus Domino邮件服务器1中names.nsf系统数据库11,获取用户邮件库的位置, 进而获取用户邮件库的最新状态。
当一封新的邮件到达Lotus Domino邮件服务器1的用户A邮箱库101时, 轮询模块21通过Lotus Domino邮件服务器提供的c程序调用接口调用Notes 客户端23提供的动态库来获取用户邮件库状态的改变,其中,所述c程序调 用接口是Lotus提供的一种基于NRPC协议访问Domino数据库的c api,轮询 模块21根据用户注册的手机号码修改进程配置文件211,切换用户身份为该 用户A标识符文件201。
轮询才莫块21〗吏用用户A标识符文件201的身4分打开用户A邮件库101, 使用新邮件的判定规则查找新邮件,并获取邮件的内容和附件,其中,所述 判定规则可以是邮件的最后更新时间等。
将获得的数据存储成文件进行3DES (3 Data Encryption Standard, 3倍 DES算法,数据加密标准之一)加密,并采用同终端设备协商好的编码算法 进行编码转换,最后经过防火墙3转发到终端设备。
如图3所示,为本发明提供的获取Lotus Domino邮件的方法实施例的流 程图,包括以下过程
步骤310、根据PUSHMail代理服务器的配置启动轮询进程,判断所述 Lotus Domino邮件服务器是否有新邮件,如果有则转至步骤320,否则继续判
断;
步骤320、当有新邮件到达时,确认有更新邮件的用户邮件库; 步骤330、获取与所述用户邮件库对应的用户标识符文件和口令,修改轮 询进程配置文件,切换用户身份,获取邮件内容和附件;
9步骤340、将邮件编码加密保存,并通知终端设备收取。
需要说明的是,所述步骤310中根据PUSHMail代理服务器的配置启动 轮询进程,判断所述Lotus Domino邮件服务器是否有新邮件进一步包括
根据PUSHMail代理服务器的配置启动轮询进程,并通过打开系统数据 库时花费的时间确定Lotus Domino邮件服务器的繁忙程度,根据Lotus Domino邮件服务器的繁忙程度确定启动轮询进程的个数,根据创建的配置文 件,及查询Lotus Domino邮件服务器中系统数据库,获取用户邮件库的位置, 进而获取用户邮件库的最新状态。
所述步骤320中当有新邮件到达时,确i/v有更新邮件的用户邮件库进一 步包括
当有新邮件到达时,通过Lotus Domino邮件服务器提供的c程序调用接 口调用客户端提供的动态库来获取用户邮件库状态的改变。
所述步骤330中获取与所述用户邮件库对应的用户标识符文件和口令, 修改轮询进程配置文件,切换用户身份,获取邮件内容和附件进一步包括
根据用户注册的手机号码修改轮询进程配置文件,切换用户身份为该用 户标识符文件,使用该用户标识符文件的身份打开对应的用户邮件库,使用 新邮件的判定规则查找新邮件,并获取邮件内容和附件;其中,所述判定规 则为邮件的最后更新时间。
所述步骤340中将邮件编码加密保存,并通知终端设备收取进一步包括
将获得的数据存储成文件进行3DES加密,并采用同终端设备协商好的编 码算法进行编码转换,通知终端设备收取,并经过防火墙转发到终端设备。
如图4所示,为本发明提供的使用用户标识符文件获取Lotus Domino邮 件的方法另一实施例的流程图,包括以下过程
步骤410、轮询模块根据PUSHMail代理服务器的配置启动轮询进程,其 中,所述配置包括系统连接的数据库信息、系统的一些全局变量等;才艮据Lotus Domino邮件服务器的繁忙程度,由其内置算法决定启动几个轮询进程;其中, 本实施例中可以通过打开系统数据库时花费的时间确定Lotus Domino邮件服 务器的繁忙程度;步骤420、轮询进程使用进程号创建自己的配置文件,加载轮询模块分配 的用户轮询列表;
步骤430、轮询进程可以通过比较用户邮件库最后编辑时间的变化判断 Lotus Domino邮件服务器是否有新邮件;
步骤440、当有新邮件到达Lotus Domino邮件服务器时,轮询进程判断 某个用户邮件库有更新;其中,轮询进程可以根据创建的配置文件,及查询 Lotus Domino邮件服务器中系统数据库,获取用户邮件库的位置,进而获取 用户邮件库的最新状态;轮询进程可以通过Lotus Domino邮件服务器提供的 c程序调用接口调用Notes客户端提供的动态库来获取用户邮件库状态的改 变,其中,所述c程序调用接口是Lotus提供的一种基于NRPC协议访问 Domino凄史才居库的c api;
步骤450、 4仑询进程获取对应用户的标识符文件和口令,其中,口令可以 由用户通过其终端设置,第 一次访问服务器时由服务器緩存;
步骤460、轮询进程根据用户注册的手机号码修改进程配置文件,切换用 户身份,使用该用户标识符文件的身份从相应的用户邮件库中获取邮件内容 和附件;
步骤470、将获得的数据存储成文件进行加密,并采用同终端设备协商好 的编码算法进行编码转换,并通知终端设备收取。
下面,通过一个实际应用的实例对本发明上述技术方案进行更详细的说明。
参考图l所示,本发明实施例获取邮件的系统中有一个Lotus Domino邮 件月良务器1,该Lotus Domino邮件月良务器1注册有A、 B、 C三个邮件帐户, PUSHMail代理服务器2需要轮询这三个帐户的新邮件。
首先,需要知道Lotus Domino邮件服务器1的IP、用户A、 B、 C的用 户名和标识符文件等信息。
通过在PUSHMail代理服务器2管理界面将Lotus Domino邮件服务器和 用户信息加入到PUSHMail代理服务器的配置中。
PUSHMail代理服务器的轮询程序启动后,访问Lotus Domino邮件服务器1的names.nsf系统勒:据库11,才艮据打开通讯录的时间和内置算法确定可以 启动两个轮询进程(如Domino服务器不忙时),根据轮询用户的分配规则判 断用户邮件库中是否有更新,例如第一轮询进程负责轮询用户A和B,第二 轮询进程负责轮询用户C。其中,所述分配规则可以在PUSHMail代理服务器 的全局配置文件中设定。
第一轮询进程根据用户A和用户B的名字,通过names.sf系统数据库11 查找到用户A的和用户B的邮件库分别为mail\a.nsf和mail\b.nsf;第二轮询 进程根据用户C的名字,通过names.nsf系统数据库11查找到用户C的邮件 库为mail\c.nsf。
第一轮询进程记录mail\a.nsf和mail\b.nsf的最后编辑时间为基准时间, 即该时间点以后的邮件为新邮件,第二轮询进程记录mail\c.nsf的最后编辑时 间为基准时间。
第 一轮询进程和第二轮询进程按全局配置文件的时间设定循环轮询 mail\a.nsf、 mail\b.nsf和mail\c.nsf。
如果用户A收到了新邮件,则mail\a.nsf的最后编辑时间被更新,第一轮 询进程将记录的mail\a.nsf的基准时间和mail\a.nsf的新最后编辑时间相比, 发现有变动,则判定maiha.nsf有新邮件。
第一轮询进程^修改进程配置文件,将当前用户名改为A ,然后调用A的 标识符和口令,在进程中切换用户身份为A。
第一轮询进程打开mail\a.nsf库,根据基准时间和邮件的到达时间搜索到 新邮件。
第一轮询进程获取邮件的信息,如主题、正文、附件等,组成MIME格 式的邮件,加密緩存到PUSHMail代理服务器,并向终端发出取邮件通知。
第一轮询进程更新用户A的基准时间为maiha.nsf的最后编辑时间,进入 下一个^"询状态。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步 骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算 机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。另外,在本发明各个实施例中的各功能单元可以集成在一个处理才莫块中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模 块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模 块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立 的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
通过本发明上述各实施例可知,本发明只需在现有系统的基础上再搭建
一台PUSHMail服务器即可完成邮件的获取工作,无需对现有Lotus Domino 邮件服务器做任何改动,就可以保证企业邮件服务器的稳定运行。
通过轮询模块根据Lotus Domino邮件服务器的繁忙情况,按照确定的规 则启动不同个数的轮询进程,可以减轻现有Lotus Domino邮件服务器的压力。
通过轮询进程监控用户邮件库的状态,并判断是否有新邮件,从而可以 最大限度的增加邮件获取的实时性,并且不会给Lotus Domino邮件服务器造 成压力。
此外,在访问用户邮件库时采用支持NRPC协议的Domino的C程序接 口调用并使用用户自己的标识符文件,从而大大增加了系统的安全性和可实 施性。
以上对本发明所提供的获取邮件的系统及方法进行了详细介绍,本文中
只是用于帮助理解本发明的方案;同时,对于本领域的一般技术人员,依据 本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述, 本说明书内容不应理解为对本发明的限制。
权利要求
1、一种获取邮件的系统,经过防火墙与Internet连接,所述系统包括一台或多台Lotus Domino邮件服务器,其特征在于,还包括一台PUSHMail代理服务器,其中所述PUSHMail代理服务器,用于根据PUSHMail代理服务器的配置启动轮询进程,判断所述Lotus Domino邮件服务器是否有新邮件,当有新邮件时,进一步确定有更新邮件的用户邮件库;获取与所述用户邮件库对应的用户标识符文件和口令,修改轮询进程配置文件,切换用户身份,获取邮件内容和附件;将邮件编码加密保存,经过防火墙转发到终端设备。
2、 根据权利要求1所述的获取邮件的系统,其特征在于 所述Lotus Domino邮件服务器包括用户邮件库和系统数据库;所述PUSHMail代理服务器包括轮询模块、用户标识符文件及客户端; 所述轮询模块根据PUSHMail代理服务器的配置启动轮询进程,并根据Lotus Domino邮件服务器的繁忙程度确定启动轮询进程的个数;根据创建的配置文 件,及查询Lotus Domino邮件服务器中系统数据库,获取用户邮件库的位置, 进而获取用户邮件库的最新状态;当有新邮件时,获取用户邮件库状态的改 变,并修改轮询进程配置文件,切换用户身份为该用户标识符文件;使用该的数据存储成文件进行加密,并采用同终端设备协商好的编码算法进行编码 转换,并通知终端设备收取。
3、 根据权利要求2所述的获取邮件的系统,其特征在于,所述轮询模块 通过打开系统数据库时花费的时间判断Lotus Domino邮件服务器的繁忙程 度。
4、 根据权利要求2所述的获取邮件的系统,其特征在于,所述轮询模块 通过Lotus Domino邮件服务器提供的c程序调用接口调用客户端提供的动态 库来获取用户邮件库状态的改变。
5、 根据权利要求2所述的获取邮件的系统,其特征在于,所述轮询模块 根据用户注册的手机号码修改轮询进程配置文件。
6、 根据权利要求2所述的获取邮件的系统,其特征在于,所述轮询模块使用《体为所述轮询模块使用该用户标识符文件的身份打开对应的用户邮件库,使 用新邮件的判定规则查找新邮件,并获取邮件的内容和附件,其中,所述判 定规则为邮件的最后更新时间。
7、 一种获取邮件的方法,其特征在于,包括以下步骤根据PUSHMail代理服务器的配置启动轮询进程,判断所述Lotus Domino 邮件服务器是否有新邮件;当有新邮件到达时,确认有更新邮件的用户邮件库;获取与所述用户邮件库对应的用户标识符文件和口令, 〃修改4仑询进程配 置文件,切换用户身份,获取邮件内容和附件;将邮件编码加密保存,并通知终端设备收取。
8、 根据权利要求7所述的获取邮件的方法,其特征在于,所述根据 PUSHMail代理服务器的配置启动轮询进程,判断所述Lotus Domino邮件服 务器是否有新邮件的步骤进一步包括根据PUSHMail代理服务器的配置启动轮询进程,并通过打开系统数据 库时花费的时间确定Lotus Domino邮件服务器的繁忙程度,根据Lotus Domino邮件服务器的繁忙程度确定启动轮询进程的个数,根据创建的配置文 件,及查询Lotus Domino邮件服务器中系统数据库,获取用户邮件库的位置, 进而获取用户邮件库的最新状态。
9、 根据权利要求7所述的获取邮件的方法,其特征在于,所述当有新邮 件到达时,确认有更新邮件的用户邮件库的步骤进一步包括当有新邮件到达时,通过Lotus Domino邮件服务器提供的c程序调用接 口调用客户端提供的动态库来获取用户邮件库状态的改变。
10、 根据权利要求7所述的获取邮件的方法,其特征在于,所述获取与 所述用户邮件库对应的用户标识符文件和口令,》务改4仑询进程配置文件,切 换用户身份,获取邮件内容和附件的步骤进一步包括根据用户注册的手机号码修改轮询进程配置文件,切换用户身份为该用户标识符文件,使用该用户标识符文件的身份打开对应的用户邮件库,使用 新邮件的判定规则查找新邮件,并获取邮件内容和附件;其中,所述判定规 则为邮件的最后更新时间。
全文摘要
本发明公开一种获取邮件的系统及方法,所述系统经过防火墙与Internet连接,包括一台或多台Lotus Domino邮件服务器及一台PUSHMail代理服务器,其中所述PUSHMail代理服务器,用于根据PUSHMail代理服务器的配置启动轮询进程,判断所述Lotus Domino邮件服务器是否有新邮件,当有新邮件时,进一步确定有更新邮件的用户邮件库;获取与所述用户邮件库对应的用户标识符文件和口令,修改轮询进程配置文件,切换用户身份,获取邮件内容和附件;将邮件编码加密保存,经过防火墙转发到终端设备。本发明能够减轻Lotus Domino邮件服务器的压力,提高系统的安全性和可实施性。
文档编号H04L29/08GK101309294SQ20081011596
公开日2008年11月19日 申请日期2008年6月30日 优先权日2008年6月30日
发明者何继勇, 张跃华, 赵一方 申请人:北京立通无限科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1