CN1561076A - 移动邮件网关系统及基于该系统的移动邮件业务实现方法 - Google Patents
移动邮件网关系统及基于该系统的移动邮件业务实现方法 Download PDFInfo
- Publication number
- CN1561076A CN1561076A CNA2004100464619A CN200410046461A CN1561076A CN 1561076 A CN1561076 A CN 1561076A CN A2004100464619 A CNA2004100464619 A CN A2004100464619A CN 200410046461 A CN200410046461 A CN 200410046461A CN 1561076 A CN1561076 A CN 1561076A
- Authority
- CN
- China
- Prior art keywords
- imap
- mobile
- message
- agreement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明涉及一种移动邮件网关系统及其实现方法,其中该系统包括U-IMAP协议栈模块、Internet协议栈模块、业务处理模块、TCP协议栈模块、格式转换模块,通过该系统各模块之间的消息交互方式,进行U-IMAP协议和邮件获取协议之间的协议转换,并进行一定的媒体格式转换,使移动终端可直接获取外部邮箱的邮件。
Description
技术领域
本发明涉及一种邮件网关系统及邮件业务的实现方法,尤其涉及一种移动邮件网关系统及基于该系统的移动邮件业务的实现方法。
背景技术
在联通现有的CDMA1X网上,彩E(联通推出的“移动多媒体邮件业务”)用户不能直接读取外部邮箱中的邮件,只能采用联通自制的U-IMAP协议读取彩E邮箱中的邮件。然而,按照用户的习惯,他们想使用他们以前使用的邮箱,主要是外部上的邮箱,比如:sina(新浪),yahoo(雅虎)等网站上的邮箱。现有的彩E邮箱与外部邮箱之间的接口主要是SMTP(简单邮件传输协议)接口,如果需要做到彩E用户直接读取外部邮箱中的邮件,则彩E邮箱要增加邮件获取协议,如POP3(邮局协议版本3)协议,IMAP4(网络消息获取协议版本4)协议等,但不管是那种协议都存在Internet上的协议到U-IMAP协议的转换过程,由于移动终端(主要是手机终端)与普通的PC终端的差别,因此,邮件网关除了进行协议转换还需要进行一定的媒体格式转换。移动邮件网关的应用环境如图1所示,手机终端12与外部邮箱16之间需通过移动邮件网关14进行U-IMAP协议与Internet协议的转换,以及进行一定的媒体格式转换才能实现移动邮件的收发。
U-IMAP协议介绍:
U-IMAP协议是联通在发展彩E业务时,制定的手机终端上的UA(用户代理)应用程序(U-IMAP客户端)与联通的彩E中心之间的协议接口,通过U-IMAP客户端和U-IMAP服务器之间的协议交互为用户提供彩E业务。U-IMAP的传输承载采用TCP/IP协议,U-IMAP客户端在U-IMAP服务端上存在三种状态:未登录状态,登录状态,注销状态。在各种不同的状态,服务端允许客户端发送不同的U-IMAP命令消息,U-IMAP客户端与U-IMAP服务端之间主要有AUTH(鉴权),SACH(检索),FECH(获取),DELV(发送),DELT(删除),STOR(设置),LOUT(退出)命令。AUTH是客户端的登录请求消息,其中带有登录方式,用户标识以及终端标识信息,服务端经过用户鉴权后返回客户端成功或失败响应消息。通过这条命令后客户端在服务端上的状态从未登录状态变成已登录状态。SACH命令用于客户端向服务端查询符合一定条件的邮件信息,查询成功的情况下,服务端返回邮件的UID(唯一标识)信息。FECH命令用于客户端向服务端获取邮件的部分信息,比如获取邮件的头信息、邮件的体信息、邮件的结构信息等。这是彩E用户获取邮件时主要采用的命令。STOR命令用于客户端向服务端请求设定指定邮件的状态。DELV命令用于客户端向服务端请求发送一封邮件到目的用户。DELT命令用于客户端向服务端请求删除邮箱中的指定邮件信息。LOUT命令用于客户端向服务端发送退出登录请求消息,服务端处理完此消息后,客户端在服务端的状态变成注销状态。
IMAP4协议介绍:
网络消息获取协议版本号为4(Internet Message Access Protocol ver4),通过这个协议,客户端可以接入和管理网上的邮箱,被操作的邮箱可以是远处邮箱或者本地邮箱。客户端可以在服务端上创建,删除,重命名邮箱,检查新到邮件,删除邮件,设置邮件标识,分析邮件,获取邮件中的指定部分等功能。IMAP4客户端在服务端上的状态比较多,主要是:未鉴权状态,鉴权状态,邮箱打开状态,注销状态。不同的状态下,服务端允许客户端发送不同的命令。IMAP4的常用命令有:LOGIN(登录)命令用于客户端登录服务端,命令中带有用户名称和密码。服务端成功处理这条消息后,客户端的状态变成鉴权状态。SELECT(打开邮箱)命令用于客户端打开指定的用户邮箱,服务端处理这条命令后,客户端处于邮箱打开状态。客户端可以操作邮箱中的邮件。SEARCH(邮件检索)命令用于客户端检索用户邮箱中符合指定条件的邮件标识。服务端可以返回邮件的序号或者邮件的唯一标识。FETCH(邮件获取)命令用于客户端主动获取指定邮件的头信息,体信息,邮件结构信息,或者是邮件的信封信息等。STORE(邮件设置)命令用于客户端设定指定邮件的状态信息,EXPUNGE(更新)命令用于客户端发送命令要求服务端永久删除邮箱中被标上删除标识的邮件。LOGOUT(注销)命令用于客户端退出登录服务端。
POP3协议介绍:
邮局协议版本3(Post Office Protocol-Version 3)是Internet上流行的邮件获取协议。在协议会话过程中分成客户端和服务端,服务端存储有邮箱和邮件信息,客户端采用POP3协议获取服务端上的邮件。POP3协议是有状态协议,可分成三个状态:验证状态,事务状态,更新状态。在不同的状态下各种POP3的协议命令消息有不同的使用限制。POP3协议主要的协议命令有:USER(用户),PASS(密码),QUIT(退出),NOOP(空闲),STAT(统计),LIST(列表),RETR(获取),DELE(删除),UIDL(标识列表)。这些命令都是字符大小写无关的。USER命令是客户端请求身份认证,命令参数可以是用户账号或者是邮箱名称,一般在客户端和服务端之间的TCP链路建立成功后由客户端发送,服务端验证成功后返回成功响应。客户端后续发送PASS命令,命令参数是密码信息,服务端验证消息后,返回客户端成功消息。经过这个命令消息后客户端的POP3会话状态从验证状态变成事务处理状态。USER、PASS命令是在验证状态下有效的。QUIT命令是客户端请求退出登录,终止对话,没有命令参数,如果客户端在事务状态,客户端在服务端的协议状态会变成更新状态。QUIT命令在验证状态和事务状态有效。NOOP命令是防止自动注销定时器到时,客户端向服务端发送,没有命令参数。NOOP命令在事务状态有效。STAT命令是客户端请求提供邮箱的大小信息,仅在事务状态有效,没有命令参数。LIST命令是客户端请求提供邮件的大小信息,可以带参数,也可不带参数;带参数表示指定序号的邮件大小,不带参数表示邮箱中所有邮件大小;此命令仅在事务状态有效。RETR命令是客户端请求获取指定序号的邮件信息,服务端返回邮件信息并用一个句点表示邮件结束,此命令在事务状态有效。DELE命令是客户端请求将指定序号的邮件标记为删除,仅在事务状态有效。UIDL命令是客户端要求获取指定序号邮件的唯一标识,如果没带命令标识表示获取邮箱中所有邮件的唯一标识信息。
IMAP4协议的命令和命令参数特别庞杂,要完全实现IMAP4协议也有很大的难度。但IMAP4协议对邮件的分割思想是十分有作用的,通过增加协议的会话次数来减少每次协议会话的流量,而且客户端可以根据需要来获取邮件的不同部分的内容。U-IMAP协议继承IMAP4的这一思想,并对IMAP4协议进行了简化,针对移动通讯的特点,减小通讯负载量,对于移动终端,尤其是移动电话来说,它们的通信带宽较小,连接的可靠性也比较低。因此,U-IMAP协议在设计上最小化客户端和服务端之间的数据传输,为了在有效带宽上尽量减少命令交互,U-IMAP协议仅保留IMAP4中最为关键的一些核心命令,尽管每个命令仅由几个字节组成,为了降低数据量,这些命令仍采用了缩写形式,例如FETCH缩写为FECH,邮件的传送命令缩写为DELV。同时,IMAP4命令的参数也被尽量低简化,此外,U-IMAP还省略了由RFC2060指定的命令标记。移动终端的特性决定了必须能够使用简单的操作来提供电子邮件服务,U-IMAP协议不支持RFC 2060规定的多层邮箱,它只支持一个用户使用一个收件箱和一个发件箱,U-IMAP客户端提供单层文件夹结构,供用户处理接收的邮件,同时将要发送的邮件先保留在发件箱中等待处理。
U-IMAP协议和POP3协议都可以进行邮件获取操作,但两者的应用场合不同,前者用于无线环境下,后者用于有线环境下。前者的邮件状态比较多,比如:新到,已读,未读,删除;而后者状态较少,只有删除和未删除两种状态。前者用一个数字唯一标识邮件,后者用最多70个字符的字符串来标识邮件。在获取邮件的方式上也不同,前者按照邮件信息分割的结构,部分的获取邮件信息;后者则是对邮件的信息不进行区分,一次获得邮件的所有信息。
上面三种协议之间的差别较大,要实现移动用户直接读取外部邮箱中的邮件,必须进行协议之间的转换。
而且在现有技术中,也未发现有实现U-IMAP手机直接操作外部邮箱的技术。
发明内容
本发明所要解决的技术问题在于克服现有技术中移动用户无法直接读取外部邮箱邮件的缺陷,提供一种移动邮件网关系统及基于该系统的移动邮件业务的实现方法,可利用移动终端(如U-IMAP手机)直接读取外部邮箱中的邮件。
为了实现上述目的,本发明提供了一种移动邮件网关系统,包括:
U-IMAP协议栈模块,作为U-IMAP服务端,用于接收外部U-IMAP客户端的请求消息,以及向U-IMAP客户端发送邮件消息;
Internet协议栈模块,作为Internet客户端,用于向外部邮箱发送Internet协议消息,以及接收Interner服务端返回的响应消息;
业务处理模块,用于实现U-IMAP协议和Internet协议的转换;
TCP协议栈模块,封装有一通讯接口作为与外部建立TCP连接的接口;以及
格式转换模块,用于与该业务处理模块进行媒体数据的交互,实现媒体格式的转换,使得媒体可以在移动终端上显示或播放;
其中,所述模块之间采用消息交互方式连接,外部来的码流消息通过TCP协议栈模块到达U-IMAP协议栈模块,或者到达Internet协议栈模块,经过所述U-IMAP协议栈模块和Internet协议栈模块后,分别被解码形成内部结构消息,并由所述业务处理模块对所述内部结构消息进行U-IMAP协议和Internet协议的相互转换;所述内部结构消息通过U-IMAP服务端和Internet客户端分别编码,形成U-IMAP和Internet协议所需要的消息后发送到外部的U-IMAP客户端或者Internet服务端。
本发明还提供一种移动邮件业务的实现方法,应用于移动邮件网关系统,其包含如下步骤:
步骤一,移动邮件网关系统建立对U-IMAP协议端口的连接侦听,等待移动终端采用U-IMAP协议与移动邮件网关建立通讯链路;
步骤二,移动邮件网关对登录的移动终端鉴权,记录下合法登录的移动终端标识,依据移动终端标识可对媒体格式进行转换;
步骤三,依据该移动终端的用户账号信息查找到该移动终端用户需要操作的外部邮箱名称及登录该邮箱需要的用户名和密码;
步骤四,移动邮件网关系统与外部邮箱建立通讯链路,并将U-IMAP协议消息转换成对应的Internet协议消息,同时也将从外部邮箱收到的响应消息转化成U-IMAP协议消息并发送至移动终端,从而实现移动终端对外部邮箱中邮件的操作过程。
上述的移动邮件业务的实现方法,其中,在步骤四中,在移动终端接收邮件的情况下,移动邮件网关依据移动终端的标识将邮件的媒体格式转换成移动终端可以识别的格式,再发送至移动终端,实现移动终端获取外部邮箱中邮件的操作过程。
上述的移动邮件业务的实现方法,其中,在步骤四中,移动邮件网关系统与外部邮箱基于IMAP4协议建立通讯链路。
上述的移动邮件业务的实现方法,其中,在步骤四中,移动终端接收邮件的过程是将邮件分割成不同部分,并根据客户端的需要来获取邮件的不同部分,其操作步骤如下:
移动网关系统对来自移动终端上U-IMAP客户端的获取邮件信息的请求消息进行判断;
若该请求消息为获取邮件的结构信息或邮件头信息的请求,则通过该移动网关系统发送符合IMAP4协议的码流消息至外部邮箱的IMAP4服务端,获取正确的邮件结构信息或邮件头信息,并在该移动网关系统中封装成符合U-IMAP协议的码流消息后再发送至移动终端上的U-IMAP客户端;
若该请求消息为获取邮件的邮件体信息的请求,则判断此会话之前是否获取过邮件体的结构信息;
若已获取过邮件体的结构信息,则发送符合IMAP4协议的邮件获取请求信息的码流消息至外部邮箱的IMAP4服务端,该IMAP4服务端返回响应消息,并在该移动网关系统中封装成符合U-IMAP协议的码流消息后再发送至移动终端上的U-IMAP客户端;
若未获取过邮件体的结构信息,则先获取一正确的邮件结构信息以获得邮件体的结构信息,再发送符合IMAP4协议的邮件获取请求信息的码流消息至外部邮箱的IMAP4服务端,该IMAP4服务端返回响应消息,并在该移动网关系统中封装成符合U-IMAP协议的码流消息后再发送至移动终端上的U-IMAP客户端。
上述的移动邮件业务的实现方法,其中,该获取正确的邮件结构信息步骤中还包括一修改邮件的结构信息的步骤:根据移动终端的类型的要求修改邮件的结构信息,该邮件的结构信息中包括有表明邮件体中各部分媒体的类型信息。
上述的移动邮件业务的实现方法,其中,若移动终端上的U-IMAP客户端在没有进行邮件体结构信息的获取之前就已经获取了邮件体中部分信息,则该移动邮件网关系统自行产生一个获取邮件体结构信息的请求消息。
上述的移动邮件业务的实现方法,其中,在步骤四中,移动邮件网关系统与外部邮箱基于POP3协议建立通讯链路。
上述的移动邮件业务的实现方法,其中,在步骤四中,移动终端接收邮件的操作步骤如下:
移动邮件网关系统接收来自移动终端上的U-IMAP客户端的邮件获取请求信息,并解码形成结构信息,其中该请求消息带有邮件标识信息;
将邮件标识信息与邮箱列表中邮件标识进行对比,找出对应的邮件序号,并发送带有邮件序号的符合POP3协议的邮件获取请求消息至外部POP3邮箱,获取指定序号的邮件;
移动邮件网关系统接收从外部POP3邮箱返回的响应消息,并进行解码,分离出其中的媒体信息,依据接收邮件的移动终端支持的媒体格式,对媒体进行格式转换;
移动邮件网关系统根据移动终端的U-IMAP客户端的需要取出邮件的各部分内容编码形成U-IMAP码流消息发送至移动终端。
上述的移动邮件业务的实现方法,其中,POP3邮箱列表中邮件标识包括:POP3协议邮件唯一标识、U-IMAP协议邮件唯一标识、邮件序号以及邮件是否新到标识,其中所述POP3协议邮件唯一标识和U-IMAP协议邮件唯一标识是固定的,而所述邮件序号和邮件是否新到标识是变化的。
相较于现有技术,本发明的优点在于:通过进行Internet协议与U-IMAP之间的协议转换实现移动终端用户直接通过移动终端来操作外部邮箱中邮件的功能。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为移动邮件网关的应用环境示意图;
图2为移动邮件网关系统的结构示意图;
图3为U-IMAP客户端的基于IMAP4方式的登录过程的流程图;
图4为U-IMAP客户端的基于POP3方式的登录过程的流程图;
图5为U-IMAP客户端的基于IMAP4方式的邮件检索过程的流程图;
图6为U-IMAP客户端的基于POP3方式的邮件检索过程的流程图;
图7为U-IMAP客户端基于IMAP4方式的邮件获取过程的流程图;
图8为U-IMAP客户端基于POP3方式的邮件获取过程的流程图;
图9为U-IMAP客户端基于IMAP4方式的邮件设置过程的流程图;
图10为U-IMAP客户端基于POP3方式的邮件设置过程的流程图;
图11为U-IMAP客户端基于IMAP4方式的邮件删除过程的流程图;
图12为U-IMAP客户端基于POP3方式的邮件删除过程的流程图;
图13为U-IMAP客户端基于IMAP4方式的退出登录过程的流程图:
图14为U-IMAP客户端基于POP3方式的退出登录过程的流程图。
具体实施方式
请参阅图2,本发明的移动邮件网关系统主要由五部分组成:U-IMAP协议栈模块21,Internet协议栈模块25,TCP协议栈模块27,业务处理模块23,格式转换模块29。U-IMAP协议栈模块21主要是作为U-IMAP服务端,接收外部的移动终端上的U-IMAP客户端来的请求消息,并向U-IMAP客户端发送邮件消息。Internet协议栈模块25主要是作为Internet客户端,用于向外部邮箱发送Internet协议消息,并接收外部邮箱的Internet服务端返回的响应消息。业务处理模块23主要是实现这两种协议(U-IMAP协议和Internet协议)的转换工作。TCP协议栈模块27封装一SOCKET通讯接口使之成为邮件网关与外部建立TCP连接的接口。格式转换模块29主要与业务处理模块23进行各种媒体数据的交互,并实现媒体格式的转换,使得媒体可以在移动终端显示或播放,为了便于说明,下文以手机作为移动终端。
由于在邮件网关的作用实现上TCP协议栈模块和格式转换模块不是主要的模块,这里不详细描述。整个邮件网关的结构如图2所示:各模块之间采用消息交互方式,从外部来的码流消息通过TCP协议栈模块27到达U-IMAP协议栈模块21,或者到达Internet协议栈模块25,经过这两个模块21、25后,分别被解码,形成内部的结构消息,业务处理模块23对这些结构消息进行转换,从U-IMAP结构消息转换到Internet结构消息,或者从Internet结构消息转换到U-IMAP结构消息。当邮件网关中的消息要发送到外部的U-IMAP客户端或者Internet服务端时,U-IMAP服务端21和Internet客户端25分别对消息进行编码。形成U-IMAP和Internet协议所需要的消息。
移动邮件网关是实现手机终端读取外部邮箱邮件的功能实体,由于手机终端和普通PC终端之间的差别,因此,移动邮件网关必须完成媒体格式转换和U-IMAP与Internet之间的协议转换。这里媒体格式转换不是主要的,它是一个影响U-IMAP与Internet协议转换的一个因素。从手机上来的登录请求消息中带有手机的终端类型,这是进行媒体格式转换的依据之一。
本发明的基于上述移动邮件网关系统的移动邮件业务的实现方法的步骤如下:
步骤一,移动邮件网关系统建立对U-IMAP协议端口的连接侦听,等待移动终端采用U-IMAP协议与移动邮件网关建立通讯链路;
步骤二,移动邮件网关对登录的移动终端鉴权,记录下合法登录的移动终端标识,依据移动终端标识可对媒体格式进行转换;
步骤三,依据该移动终端的用户账号信息查找到该移动终端用户需要操作的外部邮箱名称及登录该邮箱需要的用户名和密码;
步骤四,移动邮件网关系统与外部邮箱建立通讯链路,并将U-IMAP协议消息转换成对应的Internet协议消息,同时也将从外部邮箱收到的响应消息转化成U-IMAP协议消息并发送至移动终端,从而实现移动终端对外部邮箱中邮件的操作过程。
目前外部邮箱支持的协议接口主要有IMAP4和POP3协议,下面主要描述基于这两种协议接口的情况下手机对外部邮箱中邮件进行各种功能操作的
具体实现方式。
结合图2,在手机要操作的外部邮箱支持IMAP4协议接口的情况下,当手机用户发送登录请求消息,要求登录到外部邮箱,移动邮件网关确认用户合法后,将U-IMAP的登录消息转化成IMAP4协议的登录消息,其中带有用户名和密码。移动邮件网关依据用户信息得到用户邮箱的主机名,Internet协议栈模块发送消息登录到外部邮箱,并用SELECT命令打开用户邮箱,外部邮箱返回IMAP4服务端中新到邮件数目。Internet协议栈模块收到这些信息后,返回给业务处理模块,业务处理模块将消息送到U-IMAP服务端模块,U-IMAP服务端编码形成登录响应消息返回给U-IMAP客户端,完成U-IMAP客户端的登录过程。这样对于U-IMAP客户端的一个请求消息,Internet协议栈模块需要产生多个请求消息,并且保存每个请求消息的响应消息,最后形成响应消息返回给U-IMAP客户端。
按照U-IMAP客户端通常的操作流程,应该发送邮件检索消息,IMAP4协议消息中也存在这样的邮件检索消息,而且有两种:UID SEARCH和SEARCH,这两种请求消息的返回形式不一样,前者返回邮件的唯一标识,后者返回邮件的序号。为了与U-IMAP协议相对应,业务处理模块需要将邮件检索消息变成UID SEARCH消息,这样才返回给U-IMAP客户端邮件标识。在U-IMAP客户端检索到新到邮件的标识后,U-IMAP客户端会来获取新到的邮件信息,业务处理模块负责这两者协议请求消息对应起来。但响应消息则是不同,需要对IMAP4服务端返回的响应消息进行解码,然后再将IMAP4的解码信息进行U-IMAP协议响应消息的编码,形成U-IMAP客户端可以接收的码流消息。在获取邮件的内容过程中,由于手机的媒体格式支持与外部上的媒体格式不同,可能需要进行媒体格式转换。U-IMAP客户端后续会发送邮件删除或者设置邮件状态,退出登录的请求消息,这些消息也需要业务处理模块进行对应转换。但这些请求消息的响应消息比较简单,基本上不需要太复杂的转换,只需解码IMAP4协议响应消息,再编码形成U-IMAP响应消息即可。
下面用表格列出U-IMAP和IMAP4协议之间的对应关系:
UIMAP命令 | IMAP4命令 |
AUTH<Login Type><UserID><Terminal Type> | Tag capabilityTag list“”“”Tag select“inbox”Tag login<用户名><密码> |
SACHxN | Tag uid Search recent |
FECH<UID>xHP | Tag uid fetch<UID>body[headerfields(datefrom reply-to subject)] |
FECH<UID>xHA | Tag uid fetch<UID>body[header.fields(datefrom reply-to subject to cc)] |
FECH<UID>xHO | Tag uid fetch<UID>body[header.fields(tocc)] |
FECH<UID>xHM[<PART>] | Tag uid fetch<UID>body[<PART>.mime] |
FECH<UID>xB | Tag uid fetch<UID>bodystructure |
FECH<UID>xB[<PART>] | Tag uid fetch<UID>body[<PART>] |
STORE<UID><FLAG PATTERN> | Tag uid store<UID>-flags.silent(S EEN) |
DELV | 无 |
DELT<UID List> | Tag uid store<UID List>+flags.silent(DELETED)Tag expunge |
LOUT | Tag closeTag logout |
当需要对邮件的体信息进行格式转换的情况下,按照上面的一一对应的关系来处理是不够的,其中主要的原因在于U-IMAP客户端接收邮件的体信息时需要先获取邮件的结构信息,这个结构信息中表明了邮件体的组成,包括邮件体的媒体类型等信息。但是如果需要对媒体类型进行转换的情况下,则需要修改邮件体的结构信息,然而,U-IMAP客户端在获取邮件时,是先获取邮件体的结构信息再获取邮件体信息,这样要保证邮件体的结构信息正确,必须提前修改邮件的结构信息。并且在后续的U-IMAP获取邮件体信息时,对邮件体信息进行格式转换。转换后的邮件体信息再编码形成U-IMAP码流,返回给U-IMAP客户端。在有些情况下,U-IMAP客户端可能会在登录完成后就发送消息,要求获取邮件体信息,这样的情况下,Internet协议栈模块要使得U-IMAP客户端获得的媒体类型格式符合U-IMAP终端的要求,必须对媒体格式进行转换。而业务处理模块进行媒体格式转换的依据是邮件的结构信息中的媒体类型,这样IMAP4客户端就需要根据实际情况产生一条消息来获得邮件的结构信息内容,作为媒体格式转换的判断依据。
在外部邮箱支持的协议是POP3协议的情况下,U-IMAP协议与POP3协议之间可采用下表中的对应关系进行转换:
U-IMAP命令 | POP3命令 |
AUTH<Login Type><User ID><Terminal Type> | USER namePASS passwdUIDL |
SACH Xn | 无 |
FECH<UID>xHP | RETR msgnum |
FECH<UID>xHA | RETR msgnum |
FECH<UID>xHO | RETR msgnum |
FECH<UID>xHM[<PART>] | RETR msgnum |
FECH<UID>xB | RETR msgnum |
FECH<UID>xB[<PART>] | RETR msgnum |
STORE<UID><FLAG PATTERN> | 无 |
DELV | 无 |
DELT<UID List> | DELE msgnum |
LOUT | QUIT |
当手机终端请求接入登录时,带上用户的帐号,并需要知道对应邮箱中新到邮件数目。业务处理模块收到请求后,找到用户POP3邮箱的账号和密码。Internet协议栈模块收到特殊的登录命令后,执行三个命令:USER、PASS、UIDL。Internet协议栈模块发送完USER、PASS命令后,Internet协议栈模块进入事务状态。再发送UIDL命令,取得邮箱中所有的邮件标识。与以前保存的唯一邮件标识进行比较,并计算出其中的新到邮件数目。具体过程后面描述。这样完成手机用户登录邮箱的过程。接着手机终端要求检索新到邮件唯一标识,这个唯一标识是U-IMAP协议的邮件标识,与POP3的邮件唯一标识是不同的。这个转换也在后面描述。手机终端获得邮件唯一标识后,依据邮件唯一标识信息来获取邮件内容,而POP3协议客户端获取邮件时用的是邮件序号,这个转换也在后面描述。Internet协议栈模块使用RETR msgnum来获取整个邮件信息。手机终端在成功获得邮件后可能会将邮件打上删除标记,这时也需要U-IMAP协议的邮件唯一标识与邮件序号之间的转换。Internet协议栈模块依据邮件序号将邮件设置删除标记。手机终端退出U-IMAP协议登录,发送LOUT消息,Internet协议栈模块发送与它相对应的命令QUIT消息。
上面提到了U-IMAP协议与POP3协议之间存在很多转换要求,U-IMAP协议的邮件唯一标识与POP3协议的邮件标识之间的转换,U-IMAP协议唯一标识与POP3的邮件序号之间的转换。另外就是新到邮件的判断。这三个问题是相互关联的。要解决这个问题,对于POP3邮箱中每封邮件,业务处理部分需要存在四个信息:POP3协议邮件唯一标识(简称PUID),U-IMAP协议邮件唯一标识(简称UUID),邮件序号,邮件是否新到标识。在这四个信息中,PUID和UUID是固定的,而邮件序号和邮件是否新到标识是变化的。当POP3邮件打开后,Internet协议栈模块取出其中所有的PUID,业务处理模块将这些PUID与保存的PUID进行比较,找出其中新增的几个PUID,并为这些新到的PUID分配UUID。设置邮件状态为新到标识。并计算邮件状态为新到的邮件数目,当需要取得新到邮件的UUID时,业务处理模块直接返回邮箱中所有邮件状态标识为新到的邮件的UUID信息。当手机终端根据UUID来获取邮件时,业务处理模块根据UUID在邮箱中找到对应的邮件序号,Internet协议栈模块根据这个邮件序号来获取邮件。POP3邮箱返回邮件信息,Internet协议栈模块将邮件信息送到业务处理模块。业务处理模块对邮件信息进行分解,返回手机终端需要的邮件内容部分。U-IMAP服务端将消息编码后发送到手机终端。完成邮件获取过程。在邮件删除时,手机终端送上来的是UUID,业务处理模块根据UUID在这四个邮件信息组成的邮箱信息中找到与UUID对应的邮件序号。Internet协议栈模块根据这个邮件序号发送消息到POP3邮箱,要求删除邮件信息。完成邮件删除过程。
不论外部邮箱支持哪种协议,移动邮件网关都可以实现U-IMAP手机终端直接操作外部邮箱的功能,下面以U-IMAP客户端获取邮件的整个过程为线索来描述用户登录,邮件检索,邮件的获取,邮件状态设置,邮件删除的过程。
U-IMAP客户端的登录过程依据外部邮箱支持的协议接口可分成IMAP4接口和POP3接口两种,IMAP4接口方式下的登录过程如图3所示,流程描述如下:
步骤301,U-IMAP服务端接收到U-IMAP客户端发送的登录请求消息,U-IMAP服务端解码后将消息发送到业务处理模块。
步骤302,业务处理模块收到消息后,转化成IMAP4的登录请求消息,发送到Internet协议栈模块,消息中带上账号和密码以及用户的IMAP4邮箱的名称。
步骤303,Internet协议栈模块收到登录请求消息后,通过DNS(域名服务器)找到IMAP4邮箱的主机名,建立TCP链路。IMAP4服务端在TCP链路建立正常的情况下,返回连接问候语。
步骤304,Internet协议栈模块向IMAP4服务端发送能力询问请求消息。
步骤305,IMAP4服务端返回系统所支持的IMAP4命令机制。
步骤306,Internet协议栈模块向IMAP4服务端发送登录请求消息,其中带上用户的账号和密码。
步骤307,IMAP4服务端正确处理Internet协议栈模块请求消息后,返回成功处理响应。
步骤308,Internet协议栈模块发送列出用户邮箱的请求消息。
步骤309,IMAP4服务端返回用户邮箱的文件夹名称。
步骤310,Internet协议栈模块发送选取邮箱命令请求消息,打开指定的邮箱。
步骤311,IMAP4服务端返回邮箱中邮件数目,新到邮件数目等信息。
步骤312,IMAP4成功收到邮箱打开的响应消息后,解码形成结构信息,发送到业务处理模块,消息中带上用户的新到邮件数目。
步骤313,业务处理模块收到消息后发送到U-IMAP服务端模块,U-IMAP服务端模块对消息进行编码形成U-IMAP协议码流发送到U-IMAP客户端。完成U-IMAP客户端的登录过程。
POP3协议接口方式下的登录流程如图4所示,流程描述如下:
步骤401,U-IMAP服务端收到外部U-IMAP客户端的登录请求码流消息,并将消息进行解码,形成U-IMAP登录请求内部消息,发送到业务处理模块。
步骤402,业务处理模块根据手机IMSI取得用户邮箱的账号,密码,以及POP3邮箱的主机名。形成内部消息发送到Internet协议栈模块。
步骤403,Internet协议栈模块与外部POP3邮箱建好通讯链路后,POP3邮箱按照POP3协议规定向Internet协议栈模块发送问候消息码流。
步骤404,Internet协议栈模块向外部POP3邮箱发送用户账号信息。
步骤405,POP3邮箱返回正确响应。
步骤406,Internet协议栈模块向外部POP3邮箱发送与用户账号对应的密码信息。
步骤407,外部POP3邮箱对Internet协议栈模块的账号和密码进行检查后,返回响应信息。
408,Internet协议栈模块向外部POP3邮箱发送列出邮箱中所有邮件的请求消息,
步骤409,外部POP3邮箱返回邮箱中所有邮件的标识信息,这些邮件标识都是一些长度不超过70的字符串信息。Internet协议栈模块收到响应消息后将所有的邮件标识返回给业务处理模块。
步骤410,业务处理模块收到登录的成功响应后,将收到的邮件标识列表与业务处理模块中保存的用户邮箱上次的邮件标识列表信息,这两个邮件列表分别称为A列表,B列表。将这两个列表信息进行比较,对于A列表中存在而B列表中不存在的邮件标识,在B列表中进行添加,并将邮件状态设置为新到,分配内部的U-IMAP邮件标识,也就是32-bit的无符号数值。对于A列表中不存在而B列表中存在,需要将B列表中对应的多余信息删除。最后统计一下信到地邮件数目。
步骤411,业务处理模块返回U-IMAP服务端模块,其中带上信到邮件的数目。U-IMAP服务端收到响应信息后编码成码流返回给U-IMAP客户端。完成U-IMAP客户端的登录过程。
U-IMAP客户端的邮件检索过程依据外部邮箱支持的协议接口可分成IMAP4接口和POP3接口两种,IMAP4接口方式下的邮件检索过程如图5所示,流程描述如下:
步骤501,U-IMAP服务端接收到U-IMAP客户端发送的邮件检索信息,要求获取新到的邮件标识。U-IMAP服务端将U-IMAP码流解码,形成结构消息,发送到业务处理模块。
步骤502,业务处理模块收到邮件检索请求消息后,转化成IMAP4的邮件检索请求消息,发送到Internet协议栈模块。
步骤503,Internet协议栈模块收到消息后,编码形成UID SEARCH消息,发送到IMAP4服务端。
步骤504,IMAP4服务端处理完成邮件检索消息后,返回邮件标识信息。
步骤505,Internet协议栈模块解码IMAP4码流消息,形成结构消息发送到业务处理模块。
步骤506,业务处理模块将结构消息转化成U-IMAP的结构消息发送到U-IMAP服务端,U-IMAP服务端将结构消息编码形成U-IMAP码流消息,发送到U-IMAP客户端。完成邮件检索过程。
POP3协议接口方式下邮件检索过程如图6所示,流程描述如下:
步骤601,U-IMAP服务端收到外部U-IMAP客户端的邮件检索信息后,对码流消息解码形成结构信息发送到业务处理模块。
步骤602,业务处理模块在U-IMAP客户端登录完成后,将用户邮箱的标识列表信息一直保存在内存中,业务处理模块根据邮件的新到状态,对邮箱列表信息进行检查,找到其中的邮件状态为新到的邮件标识,这个邮件标识为U-IMAP的邮件标识,并将这些U-IMAP标识返回给U-IMAP服务端。U-IMAP服务端将收到的结构信息转换成码流消息发送到外部的U-IMAP客户端,完成邮件检索过程。
U-IMAP客户端的邮件获取过程依据外部邮箱支持的协议接口可分成IMAP4接口和POP3接口两种,IMAP4接口方式下邮件获取过程如图7所示。
邮件获取是进行U-IMAP与IMAP4协议转换中比较复杂的一部分,由于U-IMAP再获取邮件体时,会获取一次邮件的结构信息,结构信息中包含了邮件体中各部分媒体的类型等信息的邮件体结构信息,接受这些媒体的终端时手机,所以可能会出现需要进行媒体格式转换的可能,这样邮件体结构信息中的媒体类型信息可能会被修改,这样每次从IMAP4服务端收到的邮件体结构信息,先要给业务处理模块进行一次修改,形成正确的邮件结构信息,然后再发送给U-IMAP服务端模块,由于U-IMAP客户端在取得邮件体结构信息后,会获取邮件体中的部分内容,所以,为了后续的消息处理需要保存邮件结构体信息。当U-IMAP客户端在没有进行邮件体结构信息的获取之前就获取邮件体中的部分信息的情况下,Internet协议栈模块需要根据这种情况,自行产生一个获取邮件体结构信息的请求消息。下面是具体的处理流程:
步骤701,U-IMAP服务端模块收到手机终端上U-IMAP客户端发送来的获取邮件信息请求消息,经过U-IMAP服务端解码后形成结构消息发送到业务处理模块。这条请求消息中U-IMAP客户端可能需要获取邮件的头信息或者邮件的结构信息或者邮件体信息,对不同的请求消息,后续的处理流程是不同的。
步骤702,业务处理模块收到邮件获取请求消息后,将请求消息发送Internet协议栈模块,Internet协议栈模块对请求消息进行判断,如果发现发送的请求消息需要获取邮件的结构信息或者邮件的头信息,则继续后续的流程,如果发现是获取邮件体中的部分内容,则判断这个会话之前是否获取过邮件体的结构信息,如果没有获取过则继续后续流程,如果已经获取过邮件体的结构信息,则转到步骤711进行处理。
步骤703,Internet协议栈模块发现需要获取邮件的结构信息或者邮件的头信息,转化成对应的IMAP4请求消息码流,向外部IMAP4服务端发送。
步骤704,外部IMAP4服务端收到这个消息后,返回邮件的结构信息码流或者邮件的头信息码流。
步骤705,Internet协议栈模块收到这些码流后,对消息进行解码,形成结构信息或者头信息,并发送请求消息到业务处理模块,其中带上邮件体的结构信息。要求根据U-IMAP终端类型的要求修改邮件的结构信息,主要是邮件中子类型和文件名称信息。
步骤706,业务处理模块收到请求消息后,依据目的终端的能力索引值判断那些文件名称的后缀需要修改,那些类型或者子类型信息需要修改,并作相应的修改。业务模块将修改后的类型和文件名信息返回给Internet协议栈模块。其中对正文内容不要修改。
步骤707,Internet协议栈模块判断当前的请求消息是否是要求获得邮件体的结构信息,如果是结构信息,则返回邮件体的被修改后的结构信息。如果请求消息不是要求获取邮件体的结构信息,则不需要返回这条消息,直接到步骤711的处理。
步骤708,业务处理模块发送邮件获取的响应消息,这时返回的是邮件体的结构信息。U-IMAP服务端收到消息编码形成U-IMAP客户端需要的码流。
步骤709,U-IMAP服务端收到U-IMAP客户端来的获取邮件体内容的请求消息,经过U-IMAP服务端的解码形成结构消息发送到业务处理模块。
步骤710,业务处理模块将接收到的U-IMAP消息转化成IMAP4消息,发送到Internet协议栈模块。其中,步骤709、710是由于U-IMAP客户端需要获取邮件体引发的,如果没有步骤709,步骤710也不需要。
步骤711,Internet协议栈模块收到信息后转化为对应的IMAP4码流,发送到IMAP4服务端。
步骤712,IMAP4服务端发送响应消息到Internet协议栈模块,Internet协议栈模块收到信息后,将邮件体信息和这部分体信息需要转换的原始类型信息和文件名以及目的类型信息和文件名发送到业务处理模块。其中消息体是经过解码后的内容。
步骤713,业务处理模块依据媒体的类型和媒体的文件名称以及是否转化标识来判断是否需要进行转化,并将转化后的内容进行编码。
步骤714,业务处理模块将消息发送到U-IMAP服务端,U-IMAP服务端对这部分码流进行U-IMAP消息的封装,形成码流后送到U-IMAP客户端。
POP3协议接口方式下邮件的获取过程如图8所示,流程描述:
步骤801,U-IMAP服务端接收到外部U-IMAP客户端发送的邮件获取请求消息,其中带上邮件的标识信息,U-IMAP服务端将信息解码形成结构信息,发送到业务处理模块。
步骤802,业务处理模块将邮件的U-IMAP标识与邮箱列表中邮件标识进行对比,找出对应的邮件序号,发送邮件获取请求消息到Internet协议栈模块,其中带上邮件序号。
步骤803,Internet协议栈模块向外部POP3邮箱发送邮件获取请求消息,获取指定序号的邮件。
步骤804,外部POP3邮箱向Internet协议栈模块返回邮件内容信息。
步骤805,Internet协议栈模块将收到的码流消息解码后发送业务处理模块。业务处理模块对邮件体信息进行解码,分离出其中的媒体信息,依据接收邮件的手机终端支持的媒体格式,调用媒体格式转换模块的媒体格式转换功能对媒体进行格式转换,然后将每个完成媒体格式转换的媒体在编码形成邮件信息。接着判断外部U-IMAP客户端需要的是邮件的哪部分内容,如果是邮件头信息,则取出邮件头信息返回给U-IMAP服务端模块。如果是邮件结构信息或者是邮件部分体信息,则调用解码函数分别取出对应的内容。在邮箱列表中将邮件状态设置成已读标识。
步骤806,U-IMAP服务端收到响应消息后编码形成U-IMAP码流消息返回给外部的U-IMAP客户端。完成邮件的获取过程。
U-IMAP客户端的邮件设置过程依据外部邮箱支持的协议接口可分成IMAP4接口和POP3接口两种,IMAP4接口方式下邮件设置过程如图9所示,流程描述如下:
步骤901,U-IMAP服务端接收到U-IMAP客户端发送来的这支邮件状态的请求消息,解码成结构消息后发送到业务处理模块。
步骤902,业务处理模块将消息转化成IMAP4消息发送到Internet协议栈模块,
步骤903,Internet协议栈模块编码形成IMAP4码流送到IMAP4服务端。
步骤904,IMAP4服务端处理完成Internet协议栈模块请求消息后,返回处理结果码流。
步骤905,Internet协议栈模块对响应码流进行解码形成结构消息,发送到业务处理模块。
步骤906,业务处理模块将结构消息转化成U-IMAP消息,发送到U-IMAP服务端,U-IMAP服务端将结构消息编码形成码流消息发送到Internet协议栈模块,完成邮件状态设置过程。
POP3协议接口方式下邮件设置过程如图10所示,流程描述如下:
步骤1001,U-IMAP服务端收到手机发送的要求设定邮件状态请求消息,并将消息转发到业务处理模块。
步骤1002由于POP3协议没有对应的邮件状态设定请求消息,所以业务处理模块收到消息后直接返回成功响应消息。完成邮件状态设定过程。
U-IMAP客户端的邮件删除过程依据外部邮箱支持的协议接口可分成IMAP4接口和POP3接口两种,IMAP4接口方式下邮件删除过程如图11所示,流程描述如下:
步骤1101,U-IMAP服务端接收到U-IMAP客户端发送的删除邮件请求消息,解码后形成结构消息发送到业务处理模块。
步骤1102,业务处理模块接收到邮件删除消息后,转化成IMAP4的对应结构消息,发送到Internet协议栈模块。
步骤1103,Internet协议栈模块发现是邮件删除消息,则首先触发邮件状态设定消息,并编码形成这样的码流发送到IMAP4服务端。
步骤1104,IMAP4服务端设定邮件状态后,返回处理结果。
步骤1105,Internet协议栈模块收到邮件状态设定处理结果后,发送IMAP4的EXPUNGE消息,要求删除邮件信息。
步骤1106,IMAP4服务端收到EXPUNGE请求消息,进行邮件的删除操作。并将处理结果返回给Internet协议栈模块。
步骤1107,Internet协议栈模块解码响应消息,并将结构消息发送到业务处理模块。
步骤1108,业务处理模块将IMAP4的结构消息转化成U-IMAP的结构消息,并将消息发送到U-IMAP服务端。U-IMAP服务端将结构消息编码形成U-IMAP码流消息返回给U-IMAP客户端,完成邮件的删除操作。
POP3协议接口方式下邮件删除过程如图12所示,流程描述如下:
步骤1201,U-IMAP服务端收到客户短发送的邮件删除请求码流,解码成结构信息,其中带有邮件的U-IMAP标识信息。
步骤1202,业务处理模块依据删除邮件的标识信息在用户邮箱列表信息中找到对应的邮件序号,并向Internet协议栈模块发送邮件删除请求消息。
步骤1203,Internet协议栈模块收到邮件删除请求消息后,转化成POP3的邮件删除请求码流发送到外部POP3邮箱。
步骤1204,外部POP3邮箱将邮件打上邮件删除标识,返回成功响应。
步骤1205,Internet协议栈模块向业务处理模块返回成功响应。设置邮件状态为删除状态。
步骤1206,业务处理模块返回U-IMAP服务端成功处理响应消息。U-IMAP服务端形成码流发送到外部U-IMAP客户端。完成邮件删除过程。
U-IMAP客户端的退出登录过程依据外部邮箱支持的协议接口可分成IMAP4接口和POP3接口两种,IMAP4接口方式下退出登录过程如图13所示,流程描述如下:
步骤1301,U-IMAP服务端接收到U-IMAP客户端发送的请求退出登录消息,解码后形成结构消息,发送到业务处理模块。
步骤1302,业务处理模块将U-IMAP结构消息转化成IMAP4结构消息,并将消息发送到Internet协议栈模块。
步骤1303,Internet协议栈模块编码这条请求消息,形成IMAP4码流,发送到IMAP4服务端。
步骤1304,IMAP4服务端处理完请求消息后,返回处理结果给Internet协议栈模块。
步骤1305,Internet协议栈模块解码响应消息码流形成结构消息发送到业务处理模块。
步骤1306,业务处理模块将IMAP4结构消息转化成U-IMAP结构消息发送到U-IMAP服务端,U-IMAP服务端接收到这部分消息后,编码形成U-IMAP码流发送到U-IMAP客户端,完成U-IMAP客户端的退出登录过程。
POP3协议接口方式下退出登录过程如图14所示,流程说明如下:
步骤1401,U-IMAP服务端接收到外部U-IMAP客户端的退出登录请求消息,解码后形成结构消息。发送到业务处理模块。
步骤1402,业务处理模块向Internet协议栈模块发送退出登录请求消息。
步骤1403,Internet协议栈模块将收到的内部消息转换成码流消息发送到外部POP3邮箱。
步骤1404,外部POP3邮箱处理邮箱的更新状态关闭邮箱,向Internet协议栈模块发送响应消息。
步骤1405,Internet协议栈模块将码流消息进行解码,将响应消息发送到业务处理模块。业务处理模块将用户邮箱中打上删除标识的邮件标识信息删除,并将邮件列表信息写到文件中保存起来。
步骤1406,业务处理模块向U-IMAP服务端返回退出登录响应消息。U-IMAP服务端收到该消息后编码形成码流消息发送到外部U-IMAP客户端,完成退出登录过程。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1、一种移动邮件网关系统,其特征在于,包括:
U-IMAP协议栈模块,作为U-IMAP服务端,用于接收外部U-IMAP客户端的请求消息,以及向U-IMAP客户端发送邮件消息;
Internet协议栈模块,作为Internet客户端,用于向外部邮箱发送Internet协议消息,以及接收Interner服务端返回的响应消息;
业务处理模块,用于实现U-IMAP协议和Internet协议的转换;
TCP协议栈模块,封装有一通讯接口作为与外部建立TCP连接的接口;以及
格式转换模块,用于与该业务处理模块进行媒体数据的交互,实现媒体格式的转换,使得媒体可以在移动终端上显示或播放;
其中,所述模块之间采用消息交互方式连接,外部来的码流消息通过TCP协议栈模块到达U-IMAP协议栈模块,或者到达Internet协议栈模块,经过所述U-IMAP协议栈模块和Internet协议栈模块后,分别被解码形成内部结构消息,并由所述业务处理模块对所述内部结构消息进行U-IMAP协议和Internet协议的相互转换;所述内部结构消息通过U-IMAP服务端和Internet客户端分别编码,形成U-IMAP和Internet协议所需要的消息后发送到外部的U-IMAP客户端或者Internet服务端。
2、一种移动邮件业务的实现方法,应用于移动邮件网关系统,其特征在于,包含如下步骤:
步骤一,移动邮件网关系统建立对U-IMAP协议端口的连接侦听,等待移动终端采用U-IMAP协议与移动邮件网关建立通讯链路;
步骤二,移动邮件网关对登录的移动终端鉴权,记录下合法登录的移动终端标识,依据移动终端标识可对媒体格式进行转换;
步骤三,依据该移动终端的用户账号信息查找到该移动终端用户需要操作的外部邮箱名称及登录该邮箱需要的用户名和密码;
步骤四,移动邮件网关系统与外部邮箱建立通讯链路,并将U-IMAP协议消息转换成对应的Internet协议消息,同时也将从外部邮箱收到的响应消息转化成U-IMAP协议消息并发送至移动终端,从而实现移动终端对外部邮箱中邮件的操作过程。
3、根据权利要求2所述的移动邮件业务的实现方法,其特征在于,在步骤四中,在移动终端接收邮件的情况下,移动邮件网关依据移动终端的标识将邮件的媒体格式转换成移动终端可以识别的格式,再发送至移动终端,实现移动终端获取外部邮箱中邮件的操作过程。
4、根据权利要求3所述的移动邮件业务的实现方法,其特征在于,在步骤四中,移动邮件网关系统与外部邮箱基于IMAP4协议建立通讯链路。
5、根据权利要求4所述的移动邮件业务的实现方法,其特征在于,在步骤四中,移动终端接收邮件的过程是将邮件分割成不同部分,并根据客户端的需要来获取邮件的不同部分,其操作步骤如下:
移动网关系统对来自移动终端上U-IMAP客户端的获取邮件信息的请求消息进行判断;
若该请求消息为获取邮件的结构信息或邮件头信息的请求,则通过该移动网关系统发送符合IMAP4协议的码流消息至外部邮箱的IMAP4服务端,获取正确的邮件结构信息或邮件头信息,并在该移动网关系统中封装成符合U-IMAP协议的码流消息后再发送至移动终端上的U-IMAP客户端;
若该请求消息为获取邮件的邮件体信息的请求,则判断此会话之前是否获取过邮件体的结构信息;
若已获取过邮件体的结构信息,则发送符合IMAP4协议的邮件获取请求信息的码流消息至外部邮箱的IMAP4服务端,该IMAP4服务端返回响应消息,并在该移动网关系统中封装成符合U-IMAP协议的码流消息后再发送至移动终端上的U-IMAP客户端;
若未获取过邮件体的结构信息,则先获取一正确的邮件结构信息以获得邮件体的结构信息,再发送符合IMAP4协议的邮件获取请求信息的码流消息至外部邮箱的IMAP4服务端,该IMAP4服务端返回响应消息,并在该移动网关系统中封装成符合U-IMAP协议的码流消息后再发送至移动终端上的U-IMAP客户端。
6、根据权利要求5所述的移动邮件业务的实现方法,其特征在于,该获取正确的邮件结构信息步骤中还包括一修改邮件的结构信息的步骤:根据移动终端的类型的要求修改邮件的结构信息,该邮件的结构信息中包括有表明邮件体中各部分媒体的类型信息。
7、根据权利要求5所述的移动邮件业务的实现方法,其特征在于,若移动终端上的U-IMAP客户端在没有进行邮件体结构信息的获取之前就已经获取了邮件体中部分信息,则该移动邮件网关系统自行产生一个获取邮件体结构信息的请求消息。
8、根据权利要求3所述的移动邮件业务的实现方法,其特征在于,在步骤四中,移动邮件网关系统与外部邮箱基于POP3协议建立通讯链路。
9、根据权利要求8所述的移动邮件业务的实现方法,其特征在于,在步骤四中,移动终端接收邮件的操作步骤如下:
移动邮件网关系统接收来自移动终端上的U-IMAP客户端的邮件获取请求信息,并解码形成结构信息,其中该请求消息带有邮件标识信息;
将邮件标识信息与邮箱列表中邮件标识进行对比,找出对应的邮件序号,并发送带有邮件序号的符合POP3协议的邮件获取请求消息至外部POP3邮箱,获取指定序号的邮件;
移动邮件网关系统接收从外部POP3邮箱返回的响应消息,并进行解码,分离出其中的媒体信息,依据接收邮件的移动终端支持的媒体格式,对媒体进行格式转换;
移动邮件网关系统根据移动终端的U-IMAP客户端的需要取出邮件的各部分内容编码形成U-IMAP码流消息发送至移动终端。
10、根据权利要求9所述的移动邮件业务的实现方法,其特征在于,POP3邮箱列表中邮件标识包括:POP3协议邮件唯一标识、U-IMAP协议邮件唯一标识、邮件序号以及邮件是否新到标识,其中所述POP3协议邮件唯一标识和U-IMAP协议邮件唯一标识是固定的,而所述邮件序号和邮件是否新到标识是变化的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100464619A CN100373899C (zh) | 2004-02-24 | 2004-06-09 | 移动邮件网关系统及基于该系统的移动邮件业务实现方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410003415 | 2004-02-24 | ||
CN200410003415.0 | 2004-02-24 | ||
CNB2004100464619A CN100373899C (zh) | 2004-02-24 | 2004-06-09 | 移动邮件网关系统及基于该系统的移动邮件业务实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1561076A true CN1561076A (zh) | 2005-01-05 |
CN100373899C CN100373899C (zh) | 2008-03-05 |
Family
ID=34465868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100464619A Expired - Fee Related CN100373899C (zh) | 2004-02-24 | 2004-06-09 | 移动邮件网关系统及基于该系统的移动邮件业务实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100373899C (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100499892C (zh) * | 2005-09-16 | 2009-06-10 | 惠州Tcl移动通信有限公司 | 一种移动网络实时传输存储方法和系统 |
CN101808040A (zh) * | 2010-03-26 | 2010-08-18 | 中兴通讯股份有限公司 | 移动电子邮件客户端接入服务器的方法及移动终端 |
CN102204194A (zh) * | 2011-05-11 | 2011-09-28 | 华为技术有限公司 | 共享文件的方法和系统 |
CN102404700A (zh) * | 2010-09-17 | 2012-04-04 | 中国移动通信集团公司 | 电子邮件传递方法及系统 |
WO2013063934A1 (zh) * | 2011-11-04 | 2013-05-10 | 中兴通讯股份有限公司 | 媒体消息发送方法、装置及系统 |
CN103944814A (zh) * | 2014-04-29 | 2014-07-23 | 深圳市天维尔通讯技术有限公司 | 一种数据交换方法和系统及一种网关服务器 |
CN104685836A (zh) * | 2012-05-31 | 2015-06-03 | Streamwide公司 | 适用于处理imap数据流的方法,实施所述方法的电子邮件服务器和电脑程序 |
CN105897568A (zh) * | 2016-06-21 | 2016-08-24 | 中国科学院半导体研究所 | 基于多通道的邮件碎片化传输方法 |
CN106131093A (zh) * | 2016-09-07 | 2016-11-16 | 四川秘无痕信息安全技术有限责任公司 | 一种针对电子邮件登录信息进行核查取证的方法 |
CN106385358A (zh) * | 2016-09-06 | 2017-02-08 | 四川秘无痕信息安全技术有限责任公司 | 一种针对电子邮件数据包进行核查取证的方法 |
CN106941439A (zh) * | 2016-01-04 | 2017-07-11 | 希姆通信息技术(上海)有限公司 | 已发送邮件的删除方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3786635B2 (ja) * | 1999-10-29 | 2006-06-14 | ボーダフォン株式会社 | 情報提供システム |
KR20020067803A (ko) * | 2001-02-19 | 2002-08-24 | 삼성전자 주식회사 | 휴대용 단말기의 멀티미디어 전자우편 서비스 시스템 및방법 |
WO2003013080A1 (en) * | 2001-07-31 | 2003-02-13 | Comverse Ltd. | Email protocol for a mobile environment and gateway using same |
CN1287572C (zh) * | 2003-03-13 | 2006-11-29 | 北京无限立通通讯技术有限责任公司 | 利用短信及移动ip网络实时移动电子邮件传递的方法 |
CN1458612A (zh) * | 2003-05-15 | 2003-11-26 | 清华大学 | 用于嵌入式设备收发电子邮件的方法 |
-
2004
- 2004-06-09 CN CNB2004100464619A patent/CN100373899C/zh not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100499892C (zh) * | 2005-09-16 | 2009-06-10 | 惠州Tcl移动通信有限公司 | 一种移动网络实时传输存储方法和系统 |
CN101808040A (zh) * | 2010-03-26 | 2010-08-18 | 中兴通讯股份有限公司 | 移动电子邮件客户端接入服务器的方法及移动终端 |
CN101808040B (zh) * | 2010-03-26 | 2015-06-03 | 中兴通讯股份有限公司 | 移动电子邮件客户端接入服务器的方法及移动终端 |
WO2011116546A1 (zh) * | 2010-03-26 | 2011-09-29 | 中兴通讯股份有限公司 | 移动电子邮件客户端接入服务器的方法及移动终端 |
US8812605B2 (en) | 2010-03-26 | 2014-08-19 | Zte Corporation | Method for a mobile email client to access to a server, and mobile terminal thereof |
CN102404700A (zh) * | 2010-09-17 | 2012-04-04 | 中国移动通信集团公司 | 电子邮件传递方法及系统 |
CN102404700B (zh) * | 2010-09-17 | 2014-12-31 | 中国移动通信集团公司 | 电子邮件传递方法及系统 |
CN102204194B (zh) * | 2011-05-11 | 2014-05-07 | 华为技术有限公司 | 共享文件的方法和系统 |
WO2011124168A3 (zh) * | 2011-05-11 | 2012-04-12 | 华为技术有限公司 | 共享文件的方法和系统 |
WO2011124168A2 (zh) * | 2011-05-11 | 2011-10-13 | 华为技术有限公司 | 共享文件的方法和系统 |
CN102204194A (zh) * | 2011-05-11 | 2011-09-28 | 华为技术有限公司 | 共享文件的方法和系统 |
WO2013063934A1 (zh) * | 2011-11-04 | 2013-05-10 | 中兴通讯股份有限公司 | 媒体消息发送方法、装置及系统 |
CN104685836B (zh) * | 2012-05-31 | 2018-04-10 | Streamwide公司 | 适用于处理imap数据流的方法,实施所述方法的电子邮件服务器和电脑程序 |
CN104685836A (zh) * | 2012-05-31 | 2015-06-03 | Streamwide公司 | 适用于处理imap数据流的方法,实施所述方法的电子邮件服务器和电脑程序 |
US10498682B2 (en) | 2012-05-31 | 2019-12-03 | Streamwide | Method for processing IMAP data flows, electronic mail servers and computer programs implementing said methods |
CN103944814A (zh) * | 2014-04-29 | 2014-07-23 | 深圳市天维尔通讯技术有限公司 | 一种数据交换方法和系统及一种网关服务器 |
CN103944814B (zh) * | 2014-04-29 | 2017-10-20 | 天维尔信息科技股份有限公司 | 一种数据交换方法和系统及一种网关服务器 |
CN106941439A (zh) * | 2016-01-04 | 2017-07-11 | 希姆通信息技术(上海)有限公司 | 已发送邮件的删除方法 |
CN105897568A (zh) * | 2016-06-21 | 2016-08-24 | 中国科学院半导体研究所 | 基于多通道的邮件碎片化传输方法 |
CN106385358A (zh) * | 2016-09-06 | 2017-02-08 | 四川秘无痕信息安全技术有限责任公司 | 一种针对电子邮件数据包进行核查取证的方法 |
CN106131093A (zh) * | 2016-09-07 | 2016-11-16 | 四川秘无痕信息安全技术有限责任公司 | 一种针对电子邮件登录信息进行核查取证的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100373899C (zh) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100352241C (zh) | 用于定制业务调用中的行为和接口的系统 | |
CN1278557C (zh) | 信息传递系统与方法以及信息处理设备与方法 | |
CN1221088C (zh) | 通信控制系统、通信控制方法、服务控制站和通信控制站 | |
CN1913661A (zh) | 消息转换设备与转换方法 | |
CN1287572C (zh) | 利用短信及移动ip网络实时移动电子邮件传递的方法 | |
CN1118990C (zh) | 报文存储与转发系统 | |
CN101052167A (zh) | 一种通信号码自动更新系统及其实现方法 | |
CN1716922A (zh) | 移动装置消息传送的方法和系统 | |
CN101047662A (zh) | 实现单账号多身份即时消息通信和存在业务的方法及系统 | |
CN1794723A (zh) | 一种离线消息处理方法 | |
CN1257631C (zh) | 一种基于互联网的短消息传送系统及数据传送的方法 | |
CN101035317A (zh) | 一种业务参数配置方法及系统以及业务参数配置单元 | |
CN1859332A (zh) | 一种采用数据同步处理电子邮件的系统、装置及方法 | |
CN1820473A (zh) | 在固定和/或移动网络中传输业务消息的方法、终端设备和服务器 | |
CN1859491A (zh) | 一种免打扰方法 | |
CN1859380A (zh) | 一种离线消息获取方法 | |
CN1610436A (zh) | 一种利用短消息远程控制手机的方法 | |
CN1744606A (zh) | 在终端和服务器之间移动用户个人数据的同步处理方法 | |
CN1858817A (zh) | 一种远程控制网关设备构成的系统及实现方法 | |
CN1770886A (zh) | 一种蜂窝电话及其传送消息的方法 | |
CN1561076A (zh) | 移动邮件网关系统及基于该系统的移动邮件业务实现方法 | |
CN1863174A (zh) | 一种即时消息系统和消息处理方法 | |
CN1838642A (zh) | 利用即时消息系统实现问答业务的方法及系统 | |
CN1930895A (zh) | 移动通信终端之间互通消息的系统和方法 | |
CN101040543A (zh) | 发送应用特定的登记或撤销登记数据的方法和系统、服务器和通信终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080305 Termination date: 20150609 |
|
EXPY | Termination of patent right or utility model |