通知移动邮件状态的方法、系统和装置的制作方法

文档序号:7970146阅读:178来源:国知局
专利名称:通知移动邮件状态的方法、系统和装置的制作方法
技术领域
本发明涉及移动通信网络技术领域,特别是指 一种通知移动邮件状态的 方法、 一种通知移动邮件状态的系统、 一种邮件服务器和一种移动邮件客户端。
背景技术
随着移动通信技术的发展,因特网(Internet)应用被扩展到移动应用 领域。电子邮件在因特网应用中占有重要的地位,移动邮件业务是对传统互 联网电子邮件的扩展,支持利用移动终端设备编辑和收发电子邮件,并可以 与因特网的电子邮件业务进行无缝融合。
为实现邮件服务器与移动邮件客户端的同步,当邮件服务器中用户邮箱 中发生了如新邮件到达、邮件状态改变等邮件事件后,邮件服务器将邮件事 件通知给移动邮件客户端。通知方式有两种带内通知和带外通知。当移动 邮件客户端与邮件服务器之间没有连接时,可以采用如短信通知等的带外通 知方式;当移动邮件客户端与邮件服务器之间建立连接时,可以采用带内通 知方式,该方式可以通过邮件服务器提供的主动响应(unsolicitd response ) 将邮件事件直接推送给移动邮件客户端。
在带内通知方式中,移动邮件客户端与邮件服务器建立连接并选中一个 邮件夹进行操作后,邮件服务器检测当前选中的邮件夹中的新邮件事件和邮 件状态变化事件,并检测未选中的邮件夹中的新邮件事件,如检测到上述邮 件事件,则根据因特网消息访问协议(IMAP)通过IMAP响应将检测到的 邮件事件通知给移动邮件客户端。移动邮件客户端接收到邮件事件后,执行 相应操作,如下载新邮件,更新对应的邮件状态等,实现邮件同步。
在上i^带内通知古式中,不能够实现未选中邮件夹中邮件状态变化事件 的检测和通知,影响了移动邮件客户端与邮件服务器同步的效果。

发明内容
有鉴于此,本发明的主要目的在于提供一种通知移动邮件状态的方法、 一种通知移动邮件状态的系统、 一种邮件服务器和一种移动邮件客户端,能 够提高带内通知的效果。
为实现上述目的的第一个方面,本发明提供了一种通知移动邮件状态的
方法,该方法包4舌
移动邮件客户端与邮件服务器建立连接,邮件服务器检测到未选中邮件 夹中的邮件状态变化事件后,产生包括该邮件状态变化事件的通知,并将该 通知发送到移动邮件客户端,
较佳地,该方法进一步包括
所述移动邮件客户端接收到所述通知后,根据通知中的事件更新自身中 对应邮件的状态。
较佳地,所述通知中包括邮件夹名称、邮件标识和邮件状态。 所述通知可以为状态响应<, 所述通知也可以为获取响应。
所述通知中可以包括同一邮件夹中的一个或多个邮件状态变化事件,则 所述邮件标识和邮件状态对应包括一组或多组。
较佳地,所述移动邮件客户端根据通知中的事件更新自身中对应邮件的 状态包括
移动邮件客户端根据通知中的邮件夹名称和邮件标识定位到自身中存 储的邮件,并将该邮件的状态更新为所述通知中包括的邮件状态。
为实现上述目的的第二个方面,本发明提供了一种通知移动邮件状态的 系统,包括邮件服务器和移动邮件客户端;
邮件服务器用于与所述邮件客户端建立连接,并检测未选中邮件夹中的
邮件状态变化事件,产生包括检测到的所述邮件状态变化事件的通知,以及
将该通知发送给所迷移动邮件客户端;
移动邮件客户端用于与所述邮件服务器建立连接,接收来自邮件服务器 的包括未选中邮件夹中邮件变化事件的通知,或进一步根据该通知中的事件 更新自身中对应邮件的状态c
为实现上述目的的第三个方面,本发明提供了一种邮件服务器,包括 邮件存储库、通知产生模块和通知发送模块; 邮件存储库用于存储用户邮件;
通知产生模块用于检测未选中邮件夹中的邮件状态变化事件,产生包括 检测到的所述邮件状态变化事件的通知,以及将该通知发送给通知发送模
块;
通知发送模块用于将来自通知产生模块的通知发送到移动邮件客户端。 为实现上述目的的第四个方面,本发明提供了一种移动邮件客户端,包 括通知解析模块和邮件存储库;
态变化事件的通知,根据该通知更新邮件存储库中对应邮件的状态; 邮件存储库用于存储用户的邮件。
由上述方案可以看出,本发明中,移动邮件客户端在与邮件服务器建立 连接,邮件服务器检测到未选中邮件夹中的邮件状态变化事件后,产生包括 该邮件状态变化事件的通知,并将该通知发送到移动邮件客户端,从而提高 了带内通知的效果;
并且,由于本发明中,无需用户与每个邮件夹建立会话即可实现所有需 要同步的邮件夹中邮件状态变化事件的检测和通知,减少了用户的操作量, 节约了用户的时间和精力,提高了用户体验;
此外,本发明中通过移动邮件客户端根据接收的上述通知更新对应邮件 的状态,提高了移动邮件客户端与邮件服务器的同步效果。


图1为本发明通知移动邮件状态的系统组成示意图; 图2为本发明通知移动邮件状态的方法总体流程同步的流程图4为本发明方法中移动邮件客户端的一种处理流程图; 图5为本发明方法中移动邮件客户端的另一种处理流程图; 图6为本发明方法具体示例的流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明 作进一步的详细描述。
本发明的主要思想是,移动邮件客户端与邮件服务器建立连接,邮件服 务器检测到未选中邮件夹中的邮件状态变化事件后,产生包括该邮件状态变 化事件的通知,并将该通知发送到移动邮件客户端,从而实现邮件服务器采 用带内通知方式将未选中邮件夹中邮件状态变化事件通知给移动邮件客户 端。
本发明中的未选中邮件夹为,没有通过打开文件夹命令(SELECT), 或以只读方式打开文件夹命令(EXAMINE)方式打开的文件夹。
本发明通知移动邮件状态的系统组成如图l所示,包括邮件服务器和移 动邮件客户端。
邮件服务器用于与移动邮件客户端建立连接,在移动邮件客户端访问邮 件夹后,检测未选中邮件夹中的邮件状态变化事件,并根据检测到的邮件状 态变化事件,生成包括该邮件状态变化事件的通知,发送给移动邮件客户端。 此外,邮件服务器还可以检测移动邮件客户端选中的邮件夹和未选中邮件夹 的新邮件事件,以及选中邮件夹中的邮件状态变化事件,并根据检测到的这 些事件生成包括这些事件的通知发送到移动邮件客户端。这里的通知可以是
状态响应(STATUS response )或获取响应(FETCH reponse )。
移动邮件客户端用于与邮件服务器建立连接,接收来自邮件服务器的包 括未选中邮件夹中邮件状态变化事件的通知,读取其中的事件,并根据读取 的事件更新对应邮件的状态,此外,移动邮件客户端还接收来自邮件服务器 的包括其他事件的通知,如包括新邮件事件或已选中邮件夹中邮件的状态变 化事件,并根据该通知中的事件更新对应的邮件夹或邮件。
具体地,从图1中可以看出,上述邮件服务器中包括邮件存储库、通 知产生模块和通知发送模块。其中
邮件存储库用于存储用户邮件,其中包括若干个邮件夹,移动邮件客户 端与邮件服务器建立连接后,选择其中的一个邮件夹进行操作,该邮件夹处 于选中状态,其他邮件夹处于未选中状态。
通知产生模块用于检测发生的邮件事件,包括选中邮件夹和未选中邮件 夹的新邮件事件、选中邮件夹和未选中邮件夹的邮件状态变化事件,并根据 检测到的事件生成包括该事件的通知,并将该通知传送给通知发送模块。具 体地,本发明中,通知产生模块检测到未选中邮件夹中的邮件状态变化事件 后,在状态响应或获取响应中设置邮件夹名称、发生状态变化邮件的邮件标 识和变化后的邮件状态,并将状态响应或获取响应传送给通知发送模块。
通知发送模块用于根据来自通知产生模块的通知,如状态响应或获取响 应,并将该通知发送到移动邮件客户端。
具体地,从图1中可以看出,上述移动邮件客户端中包括通知解析模 块和邮件存储库。其中
通知解析模块用于接收釆自邮件服务器的通知,并根据该通知定位到移 动邮件客户端的邮件存储库中对应的邮件夹或邮件,进行邮件夹或邮件状态
地,当该通知为状态响应时,通知解析模块接收到包括邮件夹名称、邮件标 识和邮件状态的状态响应后,根据邮件夹名称和邮件标识定位到移动邮件客
户端的邮件存储库中的对应邮件,并根据状态响应中的邮件状态更新该邮件
的状态;当该通知为获取响应时,如果通知解析模块接收到的获取响应包括 邮件夹名称、邮件标识和邮件状态,则根据邮件夹名称和邮件标识定位到移 动邮件客户端的邮件存储库中的对应邮件,并将该邮件的状态更新为获取响 应中的邮件状态,如果通知解析模块接收到的获取响应不包括邮件夹名称, 则按现有技术进行处理。
邮件存储库用于存储用户的本地邮件,这里用户的本地邮件为邮件服务 器的邮件存储库中通过过滤规则过滤后的邮件。另外,本发明中所涉及的未 选中邮件夹及选中邮件夹中的邮件,均指经过过滤规则过滤后的邮件。
本发明通知移动邮件状态的方法总体流程如图2所示,包括如下步骤
步骤201、移动邮件客户端与邮件服务器建立连接;
步骤202、邮件服务器检测到未选中邮件夹中的邮件状态变化事件后, 产生包括该事件的通知,并将该通知发送到移动邮件客户端。
上述通知可以是状态响应,也可以是获取响应。
现有的状态响应承载未选中邮件夹的相关信息,包括邮件夹名称和状态 信息,其中状态信息中具体可以包括数据项MESSAGE邮件夹中的邮件总 数、RECENT邮件夹中的标示为、RECENT的邮件数、UIDNEXT可以分配 给新邮件的下一个唯一标识符(UID) 、 UIDVALIDITY邮件夹的UID有效 性标志、UNSEEN邮件夹中被标志为MJNSEEN的邮件数。
因此,本发明中采用状态响应承载未选中邮件夹的邮件状态变化事件 时,需要对状态信息所包括的数据项进行扩展,增加可选数据项UID邮 件标识,和FLAGS邮件状态。其中,邮件标识为发生状态改变的邮件在未 选中邮件夹内的唯一标识,邮件状态可以是Wnseen、 \seen、 \delete、 \Flagged 等,分别表示由卩件状态由seen变为unseen、 由unseen变为seen、由卩件4皮标 记为delete、邮件被标记为ilagged (表明邮件重要)等。
例如未选中邮件夹B中邮件标识为43的邮件状态由Wnseen变为Xseen 且标记为XFlagged,承载该邮件状态变化事件的状态响应为
S: * STATUS FolderB (UID 43 FLAGS (\seen\Flagged))
而现有的获取响应承载选中邮件夹的相关信息,故其中不包括邮件夹名 称信息。为使获取响应承载束选中邮件夹中邮件状态变化事件,本发明在获 取响应中增加邮件夹名称信息,以指明发生邮件状态变化事件的邮件夹,扩
展后的获取响应的格式为
FETCH FolderName(message data)
其中,邮件夹名称(FolderName)可以是必选的也可以是可选的。如果 为必选的,则相应获取命令(FETCH Command )也带有FolderName;如果 为可选的,则无FolderName时默认为当前选中的邮件夹。另外,在通过获 取响应发送未选中邮件夹中的邮件状态变化事件时,信息数据(message data )中包括UID和FLAGS数据项。
例如未选中邮件夹B中UID为43的邮件由\unseen变为\seen且标记 为\Flagged ,承载该邮件状态变化事件的获取响应为
S: * FETCH FolderB (UID 43 FLAGS (\seen\Flagged))
而选中邮件夹A中UID为23的邮件一皮标记为删除,FolderName为必 选项时,承载该邮件状态变化事件的获取响应为
S: * FETCH FolderA (UID 23 FLAGS (\deleted))
FolderName为可选项时,承载该邮件状态变化事件的获取响应为
S: * FETCH (UID 23 FLAGS (\deleted))
本发明方法应用在IMAP协议中,实现移动邮件客户端与服务器端同步 的流程如图3所示,其中,移动邮件客户端与邮件服务器建立连接并进行邮 件处理时,包括如下步骤
步骤301、移动邮件客户端向邮件服务器发送空闲命令(A005 IDLE), 表明移动邮件客户端以后时间内可以接收主动响应(unsolicited response )。
标准命令,这里不再详述。
步骤302、邮件服务器中的通知产生模块检测未选中邮件夹中的邮件状 态变化事件,并在检测到未选中邮件夹中的邮件状态变化事件后,产生相应 的主动响应,该响应中携带邮件夹名称、邮件的UID和发生的事件,即邮 件当前的状态,并发送给通知发送模块。
步骤303、通知发送模块向移动邮件客户端发送携带该事件的主动响应。
步骤304、移动邮件客户端的通知解析模块收到主动响应后解析出响应 类型、定位到指定的邮件并进行状态同步。
如图4所示,当主动响应为状态响应时,步骤304具体包括在步骤 401,移动邮件客户端的通知解析模块收到该状态响应后,判断出不是当前 正在操作的邮件夹中的邮件状态变化事件;则在步骤402,根据邮件夹名称 和邮件的UID定位到邮件存储库中对应的邮件;然后在步骤403,根据状态 响应中携带的邮件状态数据项更新对应邮件的状态。
当主动响应为获取响应时,如果获取响应中的邮件夹名称为可选项,则 如图5所示,步骤304具体包括在步骤501,移动邮件客户端的通知解析 模块收到获取响应后,判断是否包括邮件夹名称,如果判断出没有包括邮件 夹名称,则确定出该获取响应携带的是选中邮件夹中的邮件相关事件,执行 现有的处理流程;如果判断出包括邮件夹名称,则在步骤502,根据邮件夹 名称和邮件UH)定位到邮件存储库中对应的邮件,然后在步骤503,根据获 取响应中携带的邮件状态数据项更新对应邮件的状态。
如果获取响应中的邮件夹名称为必选项,则移动邮件客户端的通知解析 模块收到获取响应后,直接根据邮件夹名称和邮件UID定位到邮件存储库 中对应的邮件,然后根据获取响应中携带的邮件状态数据项更新对应邮件的 状态。
另外,在图4和图5的流程中,通知解析模块根据状态响应或获取响应 中的邮件夹名称和邮件UID定位邮件存储库中的邮件时,如果邮件存储库 中不存在对应的邮件夹,则可以根据用户设置丢弃该响应,或创建对应的邮 件夹并下载邮件;如果邮件存储库中不存在对应的邮件,则可以根据用户设 置丟弃该响应,或下载该邮件。
步骤305、邮件服务器中的通知检测模块检测其他的事件,并在检测到
事件后通过主动响应向移动邮件客户端推送发生的事件。
这里,如果邮件服务器还除了步骤302中的邮件状态变化事件外,还检 测到了其他的事件,如其他的未选中邮件夹或已选中邮件夹中的邮件状态变 化事件,或未选中邮件夹或已选中邮件夹中的新邮件事件等,均产生对应的 主动响应,并将发生的事件推送到移动邮件客户端。本步骤与上述步骤302 至步骤304之间无一定的先后顺序关系,具体实现过程中可能先执行本步骤 而后执行步骤302、步骤303或步骤304,也可能先执行步骤302或步骤303 或步骤304,而再执行本步骤。
步骤306、移动邮件客户端向邮件服务器发送完成(DONE)命令,以 结束空闲(IDLE)状态。
步骤307、邮件服务器收到DONE命令后,回复IDLE响应(A005 OK IDLE teminated ),此后邮件服务器不再向移动邮件客户端发送主动响应。
以下再通过一个具体示例说明上述流程,假设邮件服务器邮件存储库存 储的用户邮件夹包括邮件夹A、邮件夹B、邮件夹C……,其中邮件夹B 自上次同步后发生的事件为UID为41的邮件状态由Xseen变为Wnseen,如 有些用户会将还没处理完的邮件重新设置为Wnseen状态,以提醒自己该邮 件还需要处理;UID为43的邮件的状态由Wnseen变为Xseen且标记为 \Flagged; UID为56的邮件被标为\ delete。
本示例中,如图6所示,用户通过移动邮件客户端与邮件服务器建立连 接并选中邮件夹A进行操作,并在移动邮件客户端向邮件服务器发送A005 IDLE命令后,邮件服务器将邮件夹B发生的邮件状态变化事件通知给移动 邮件客户端,通过向移动邮件客户端发送以下状态响应实现
S: * STATUS FolderB(UID 41 FLAGS (\unseen))
S: * STATUS FolderB (UID 43 FLAGS (\seen\Flagged))
S: * STATUS FolderB (UID 56 FLAGS (\delete))
当然,也可以通过一个状态响应实现上述三个状态响应的功能,则该状 态响应为S: * STATUS FolderB((UID 41 FLAGS (、unseen)), (UID 43 FLAGS (\seen\Flagged)), (UID 56 FLAGS (\delete)))
此后,移动邮件客户端收到上述状态响应后,按照状态响应中携带的信 息分别将本地邮件夹B中UID为41、 43、 56的邮件置为相应的状态。
再假设,上述移动邮件客户端正在访问邮件夹A中的邮件,此时另一 客户端读取了邮件夹C中的UID为36的邮件并使其状态变为^een,则邮件 服务器将该事件通过如下状态响应推送给上述移动邮件客户端
S: * STATUS FolderC(UID 36 FLAGS (\Seen》
移动邮件客户端接收到该状态响应后,根据邮件夹名称和UID定位到 邮件存储库中邮件夹C中UID为36的邮件,并将该邮件的状态设置为Xseen。
此后,在移动邮件客户端向邮件服务器发送DONE命令,并由邮件服 务器回复A005 OK IDLE terminated命令后结束该流程》
以上是对本发明具体实施例的说明,在具体的实施过程中可对本发明的 方法进行适当的改进,以适应具体情况的具体需要。因此可以理解,根据本 发明的具体实施方式
只是起示范作用,并不用以限制本发明的保护范围。
权利要求
1、一种通知移动邮件状态的方法,其特征在于,该方法包括移动邮件客户端与邮件服务器建立连接,邮件服务器检测到未选中邮件夹中的邮件状态变化事件后,产生包括该邮件状态变化事件的通知,并将该通知发送到移动邮件客户端。
2、 根据权利要求1所述的方法,其特征在于,该方法进一步包括 所述移动邮件客户端接收到所述通知后,根据通知中的事件更新自身中对应邮件的状态。
3、 根据权利要求1或2所述的方法,其特征在于,所述通知中包括 邮件夹名称、邮件标识和邮件状态。
4、 根据权利要求3所述的方法,其特征在于,所述通知为状态响应。
5、 根据权利要求3所述的方法,其特征在于,所述通知为获取响应。
6、 根据权利要求3所述的方法,其特征在于,所述通知中包括同一邮 件夹中的一个或多个邮件状态变化事件,则所述邮件标识和邮件状态对应包 括一组或多组。
7、 根据权利要求3所述的方法,其特征在于,所述移动邮件客户端根 据通知中的事件更新自身中对应邮件的状态包括移动邮件客户端根据通知中的邮件夹名称和邮件标识定位到自身中存 储的邮件,并将该邮件的状态更新为所述通知中包括的邮件状态。
8、 一种通知移动邮件状态的系统,其特征在于,该系统包括邮件服 务器和移动邮件客户端;邮件服务器用于与所述邮件客户端建立连接,并检测未选中邮件夹中的 邮件状态变化事件,产生包括检测到的所述邮件状态变化事件的通知,以及 将该通知发送给所述移动邮件客户端;移动邮件客户端用于与所述邮件服务器建立连接,接收来自邮件服务器 的包括未选中邮件夹中邮件变化事件的通知,或进一步根据该通知中的事件 更新自身中对应邮件的状态,,
9、 一种邮件服务器,其特征在于,该邮件服务器中包括邮件存储库、 通知产生模块和通知发送模块;邮件存储库用于存储用户邮件;通知产生模块用于检测未选中邮件夹中的邮件状态变化事件,产生包括 检测到的所述邮件状态变化事件的通知,以及将该通知发送给通知发送模块;通知发送模块用于将来自通知产生模块的通知发送到移动邮件客户端。
10、 一种移动邮件客户端,其特征在于,该移动邮件客户端中包括通 知解析模块和邮件存储库;通知解析模块用于接收来自邮件服务器的包括未选中邮件夹中邮件状 态变化事件的通知,根据该通知更新邮件存储库中对应邮件的状态; 邮件存储库用于存储用户的邮件。
全文摘要
本发明公开了一种通知移动邮件状态的方法,包括移动邮件客户端在与邮件服务器建立连接,邮件服务器检测到未选中邮件夹中的邮件状态变化事件后,产生包括该邮件状态变化事件的通知,并将该通知发送到移动邮件客户端。本发明还公开了一种通知移动邮件状态的系统、一种邮件服务器和一种移动邮件客户端。本发明中,通过上述方案,无需用户与每个邮件夹建立会话即可实现所有需要同步的邮件夹中邮件状态变化事件的检测和通知,从而移动邮件客户端可以根据该通知更新对应邮件的状态,提高了移动邮件客户端与邮件服务器的同步效果,并且减少了用户的操作,提高了用户体验。
文档编号H04L12/58GK101163114SQ20061014079
公开日2008年4月16日 申请日期2006年10月10日 优先权日2006年10月10日
发明者吴凌燕, 刚 梁 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1