一种基于IMAP协议的草稿邮件同步方法、装置和终端与流程

文档序号:11436525阅读:738来源:国知局
一种基于IMAP协议的草稿邮件同步方法、装置和终端与流程

本申请涉及电子邮件领域,尤其涉及一种基于imap协议的草稿邮件同步方法、装置和终端。



背景技术:

随着智能手机、平板电脑等移动终端设备的广泛普及,基于移动终端的电子邮箱业务也得以广泛应用。电子邮箱用户在移动终端设备上即可完成电子邮件的查收、阅读、撰写、回复以及转发,极大提高了用户的工作和生活效率。

图1是一种典型的电子邮件的网络系统结构示意图。如图1所示,电子邮件的网络系统包括多个邮件服务器以及与各个邮件服务器连接的多个终端设备(如pc机、移动手机以及ipad等)。终端设备既可以是邮件的发送端,也可以是邮件的接收端;邮件服务器既可以作为发送端服务器,也可以作为接收端服务器。电子邮件的收发过程如下:作为发送端的终端设备通过smtp协议(简单邮件传输协议,英文全称:simplemailtransferprotocol)将邮件发送至发送端服务器,发送端服务器再通过smtp协议将邮件发送至接收端服务器,作为接收端的pc终端可以通过pop协议(邮局协议,英文全称:postofficeprotocol)或者imap协议(internet邮件访问协议,英文全称:internetmailaccessprotocol)读取存储于接收端服务器的邮件,或者,与接收端服务器相连的邮件转发服务器(图中部分邮件转发服务器未示出)将接收端服务器接收到的邮件通过pushmail(邮件推送)技术实时推送给接收端的移动终端,从而实现电子邮件的发送和接收。

目前,当移动终端中邮件客户端采用imap协议时,通常只将待发送的电子邮件同步至邮件服务器的缓存中,而草稿邮件无法在终端设备与邮件服务器之间进行同步,由此带来以下问题:移动终端无法同步上传编辑好的草稿邮件,也无法同步下载其他终端设备(如网页版邮箱、其它移动终端的邮件客户端等)中的草稿邮件来继续处理,这无疑给移动终端的电子邮箱用户造成了很大的困扰。



技术实现要素:

本申请提供了一种基于imap协议的草稿邮件同步方法、装置和终端,能够将移动终端中的草稿邮件同步上传至邮件服务器,且能够将其他终端设备中的草稿邮件同步下载至移动终端。

第一方面,本申请提供了一种基于imap协议的草稿邮件同步方法,应用于移动终端,所述方法包括:

当移动终端中待上传状态的草稿邮件上传至邮件服务器时,将邮件服务器返回的草稿邮件的邮件标识符存储于第一列表;

获取邮件服务器中存储的草稿邮件的邮件标识符,且将所述邮件标识符存储于第二列表;

确定目标邮件标识符,所述目标邮件标识符存储于第二列表,而未存储于第一列表;

将与所述目标邮件标识符对应的草稿邮件从所述邮件服务器下载至移动终端。

第二方面,本申请还提供了一种基于imap协议的草稿邮件的同步装置,应用于移动终端,所述装置包括:

第一存储模块,用于当移动终端中待上传状态的草稿邮件上传至邮件服务器时,将邮件服务器返回的草稿邮件的邮件标识符存储于第一列表;

第二存储模块,用于获取邮件服务器中存储的草稿邮件的邮件标识符,且将所述邮件标识符存储于第二列表;

确定模块,用于确定目标邮件标识符,所述目标邮件标识符存储于第二列表,而未存储于第一列表;

同步模块,用于将与所述目标邮件标识符对应的草稿邮件从所述邮件服务器下载至移动终端。

第三方面,本申请还提供了一种终端设备,所述终端设备包括上述第二方面所述同步装置。

本申请的有益效果如下:

本申请提供了一种基于imap协议的草稿邮件同步方法、装置和终端,当移动终端中待上传状态的草稿邮件上传至邮件服务器时,将邮件服务器返回的草稿邮件的邮件标识符存储于第一列表;再将邮件服务器中存储的草稿邮件的邮件标识符存储于第二列表;然后确定存储于第二列表、而未存储于第一列表的目标邮件标识符;进而将与目标邮件标识符对应的草稿邮件从所述邮件服务器下载至移动终端。这样,既能够将移动终端中的草稿邮件同步上传至邮件服务器,且能够将其他终端设备中的草稿邮件同步下载至移动终端,以便继续查看或编辑该下载的草稿邮件,提高用户体验。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为一种典型的电子邮件的网络系统结构示意图;

图2为本申请实施例一提供的一种基于imap协议的草稿邮件同步方法的流程图;

图3为本申请实施例二提供的一种基于imap协议的草稿邮件同步方法的流程图;

图4为本申请实施例二提供的一种邮件客户端草稿箱的示意图;

图5为本申请实施例二提供的步骤s201的流程图;

图6为本申请实施例二提供的步骤s2013的流程图;

图7为本申请实施例二提供的步骤s2011的流程图;

图8为本申请实施例二提供的移动终端创建草稿文件夹方法的流程图;

图9为本申请实施例三提供的一种基于imap协议的草稿邮件的同步装置的结构示意图。

具体实施方式

本申请中提供的草稿邮件的同步方法建立在imap协议的基础上,利用imap协议的相关命令,实现移动终端与邮件服务器之间的通信。本申请通过以上方法能够解决移动终端的草稿邮件无法与邮件服务器同步的技术问题,以便电子邮箱用户在不同终端设备上操作草稿邮件。下面结合附图对本申请提供的草稿邮件的同步方法进行详细说明。

参见图2,为本申请实施例一提供的一种基于imap协议的草稿邮件同步方法的流程图。由图2可见,包括如下步骤:

步骤s101:当移动终端中待上传状态的草稿邮件上传至邮件服务器时,将邮件服务器返回的草稿邮件的邮件标识符存储于第一列表。

邮件服务器在接收到终端设备上传的草稿邮件时,会为每一封草稿邮件创建对应的邮件标识符(uid号),并将邮件标识符返回相应的终端设备。每一个所述邮件标识符唯一对应邮件服务器中的一封草稿邮件,终端设备能够根据邮件标识符标识已上传至邮件服务器的草稿邮件。因此,移动终端草稿文件夹中邮件标识符对应的草稿邮件均为已同步至邮件服务器的草稿邮件。移动终端将提取出来的邮件标识符存储于第一列表(localmessageidarray列表)中。

步骤s102:获取邮件服务器中存储的草稿邮件的邮件标识符,且将所述邮件标识符存储于第二列表。

imap协议中的邮件标识符搜索命令(uidsearch命令)用于获取邮件服务器上符合匹配条件的邮件标识符,如果没有匹配邮件则返回不带uid号的search单词。uidsearch命令携带有查询条件参数,查询条件参数通常为明确查询的关键字和值。本实施例中,移动终端会向邮件服务器发送草稿邮件的uidsearch命令,uidsearch命令的查询条件参数为草稿文件夹。邮件服务器在接收到移动终端发送的携带有草稿文件夹查询条件参数的uidsearch命令之后,会向移动终端返回存储于邮件服务器中的所有草稿邮件的邮件标识符。移动终端将接收到的邮件服务器中的草稿邮件的邮件标识符存储于本地数据库的第二列表(remotemessageidarray列表)中。

另外,本实施例中,移动终端向邮件服务器发送草稿邮件的邮件标识符搜索命令的触发条件可以是移动终端接收到的邮件同步命令。邮件同步命令可以是体现为客户端的单独设置的询问命令,用于询问电子邮件用户是否需要同步邮件服务器的草稿邮件;也可以是电子邮件用户打开客户端的草稿箱时自动生成的邮件同步命令,此时,无需电子邮件用户做出判断。

步骤s103:确定目标邮件标识符。

通过遍历第一列表和第二列表可以查找出存储于第二列表,而未存储于第一列表的邮件标识符,本实施例将此邮件标识符确定为目标邮件标识符。目标邮件标识符对应的草稿邮件即为邮件服务器中,除移动终端以外的其他终端设备上传的草稿邮件,也就是移动终端需要同步下载的草稿邮件。

步骤s104:将与所述目标邮件标识符对应的草稿邮件从所述邮件服务器下载至移动终端。

imap协议中的读取命令(fetch命令)用于读取邮件的文本信息,fetch命令携带有messageset参数,messageset参数表示希望读取的邮件标识符列表。本实施例中,messageset参数为目标邮件标识符的列表。邮件服务器接收到目标邮件标识符列表的fetch命令之后,会向移动终端返回与目标邮件标识符相对应的草稿邮件,以便电子邮件用户在移动终端上继续操作此草稿邮件。

本实施例既能够将移动终端中的草稿邮件同步上传至邮件服务器,且能够将其他终端设备中的草稿邮件同步下载至移动终端,以便继续查看或编辑该下载的草稿邮件,提高用户体验。

但是,在某些情况下,电子邮件用户可能会在不同的终端设备上反复编辑一封草稿邮件,例如,电子邮件用户在邮件客户端a上创建了一封草稿,编辑后选择上传邮件服务器,这是该封草稿邮件的初始版本v1;如果电子邮件用户在邮件客户端b上同步草稿箱,把v1版本的草稿同步到本地后继续编辑该草稿邮件,编辑完成后作为原始草稿邮件的版本v2上传邮件服务器,邮件服务器会将此草稿邮件存储为一封新的草稿邮件。如果电子邮件用户继续在邮件客户端c上同步草稿箱,该封草稿邮件的初始版本v1和版本v2都会同步到本地数据库。

基于以上情况,本申请实施例二提供了一种基于imap协议的草稿邮件的同步方法,本实施例将接收到的初始版本v1和版本v2做归集处理,以实现草稿邮件在不同邮件客户端上的版本追溯。参见图3,为本申请实施例二提供的一种基于imap协议的草稿邮件同步方法的流程图。由图3可见,该方法包括如下步骤:

步骤s201:当移动终端中待上传状态的草稿邮件上传至邮件服务器时,将邮件服务器返回的草稿邮件的邮件标识符存储于第一列表。

步骤s202:获取邮件服务器中存储的草稿邮件的邮件标识符,且将所述邮件标识符存储于第二列表。

步骤s203:确定目标邮件标识符。

步骤s204:将与所述目标邮件标识符对应的草稿邮件从所述邮件服务器下载至移动终端。

步骤s205:检测移动终端中是否存在至少两封主题相同的草稿邮件。如果移动终端中存在至少两封主题相同的草稿邮件,则执行步骤s206。

步骤s206:将所述至少两封主题相同的草稿邮件按照上传时间的先后顺序存储于临时文件夹,所述临时文件夹以存储的草稿邮件的主题命名。

本实施例为了便于电子邮件用户追溯草稿邮件的不同版本,而将主题相同的草稿邮件做归集处理,即将至少两封主题相同的草稿邮件存储于某一临时文件夹中,该临时文件夹在邮件客户端上体现为以该草稿邮件的主题命名的一条邮件信息。另外,为了便于电子邮件用户搜索、查看,临时文件夹中的草稿邮件按照上传至邮件服务器的时间先后顺序进行存储。

请参考图4,为本申请实施例二提供的一种邮件客户端草稿箱的示意图。在图4所示的草稿邮件列表中,左侧黑色方框内的邮件信息实际上包含有两封草稿邮件,是主题相同的草稿邮件的一种归集形式。右侧黑色方框部分为此邮件信息的展开形式,电子邮件用户可以从以上两封草稿邮件中任意选择一封草稿邮件进行进一步处理。当然,本申请其他实施例中,也可以只保留上传时间最晚的一封草稿邮件,以避免终端设备的存储空间有限时,版本过多的草稿邮件额外占用其存储空间。

请参考图5,为本申请实施例二提供的步骤s201的流程图。由图5可见,步骤s201还可以包括如下步骤:

步骤s2011:在移动终端保存或更新草稿邮件之后,将移动终端的草稿文件夹中需要同步的草稿邮件设置为待上传状态。

移动终端的草稿文件夹为移动终端数据库中用于存放草稿邮件的文件夹,本实施例中移动终端的草稿文件夹为与相应邮件服务器中的草稿文件夹对应设置的可同步文件夹。只有当移动终端检测到其草稿文件夹的文件夹属性为可同步文件夹时,才允许执行文件夹的同步操作,将移动终端的草稿文件夹与邮件服务器的草稿文件夹进行同步。

另外,本实施例可以通过设置草稿邮件的上传属性,来实现草稿邮件上传状态的设定。草稿邮件的上传属性包括true和false两种类型,当移动终端检测到草稿邮件的上传属性标记为true时,即可判定该草稿邮件为待上传状态,从而通过进一步的同步操作,将处于待上传状态的草稿邮件同步至邮件服务器;当移动终端检测到草稿邮件的上传属性标记为false时,即能够判定该草稿邮件为非上传状态,不需要对该草稿邮件进行同步。

本实施例中,为了区分草稿邮件的重要程度,移动终端还可以通过重要标识来区分普通草稿邮件和重要草稿邮件。重要标识能够在移动终端的邮箱客户端体现出来,具体可以为红旗标志、星状标志以及其他形状和形式的标志。电子邮箱用户可以根据实际需要判定重要草稿邮件,比如,可以是需要在其他客户端继续编辑或者添加附件的处于待上传状态的草稿邮件,也可以是保密性较高的,只能够在移动终端编辑的草稿邮件。

步骤s2012:按照预设的同步频率,检测所述移动终端的草稿文件夹中是否至少存在一封处于待上传状态的草稿邮件。如果所述移动终端的草稿文件夹中至少存在一封处于待上传状态的草稿邮件,则执行步骤s2073。

本实施例中,将同步频率设置为实时同步,即持续监测草稿邮件的上传属性,以缩短草稿邮件的同步周期。本申请中移动终端与pc端最大的不同在于,移动终端并不是实时在线的。通常情况下,只有在移动终端用户需要访问网络的时候才开启数据业务服务(如gsm/gprs服务),而将存储于移动终端的草稿邮件同步至邮件服务器,无疑需要移动终端处于在线状态,因此,为了达到实时同步的效果,需要移动终端实时处于在线状态,容易过度消耗移动终端的电量,并且容易产生额外的上网费用。

在实际的应用情境中,电子邮箱用户可能在室外使用移动终端编辑了一封草稿邮件,但需要返回室内,使用pc端添加文件较大的附件,这种情况下,草稿邮件同步的时效性要求通常不高。因此,本申请其他实施例中,移动终端可以每隔一段时间遍历一次草稿文件夹,检测其中各封草稿邮件的上传属性,当至少存在一封处于待上传状态的草稿邮件时,再开启数据业务服务上传该草稿邮件。通过以上方式能够在一定程度上避免上述实时同步带来的诸多问题。另外,以上应用情境只是示意性的举例,并不限于此应用情境。

步骤s2013:向所述邮件服务器发送邮件添加命令,以将所述处于待上传状态的草稿邮件同步至所述邮件服务器。

移动终端在向邮件服务器发送邮件添加命令(append命令)之前,需要首先与邮件服务器建立tcp连接,在此基础上进行信息交互。imap协议中的append命令允许终端设备上载一个邮件到指定的邮件服务器文件夹中,本实施例通过append命令将移动终端中处于待上传状态的草稿邮件同步至邮件服务器的草稿文件夹中。append命令中包含以上草稿邮件的属性、创建日期/创建时间、邮件大小,以及具体的邮件数据(可包括邮件主题,邮件内容等),邮件服务器接收到移动终端发送的append命令之后,将append命令中包含的以上草稿邮件信息保存至草稿文件夹中,进而移动终端将需要下载的草稿邮件保存至本地数据库,以便进行进一步编辑或者其他处理,最终完成草稿邮件在不同终端的同步。

步骤s2014:将所述处于待上传状态的草稿邮件设置为非上传状态。

本实施例将完成同步的草稿邮件设置为非上传状态,以免步骤s2012检测到以上草稿邮件仍然处于待上传状态而触发同步操作,导致草稿邮件重复上传,造成不必要的网络资源的浪费。

此外,电子邮箱用户在筛选草稿邮件时,可能由于主题类似等原因,将已经同步过的草稿邮件误选为需要同步的草稿邮件,导致未经任何操作的同一封草稿邮件被多次上传,占用不必要的网络资源和存储空间。为避免以上情况的发生,本申请实施例二提供了另外一种基于imap协议的草稿邮件同步方法。参见图6,为本申请实施例二提供的步骤s2013的流程图。由图6可见,步骤s2013包括如下步骤:

步骤s20131:检测邮件列表中是否包含与所述处于待上传状态的草稿邮件相对应的邮件标识符。如果所述邮件列表中没有包含与所述处于待上传状态的草稿邮件唯一对应的邮件标识符,则执行步骤s20732。

邮件服务器在接收到移动终端发送的append命令以后,从中提取草稿邮件的有效信息(草稿邮件的属性、创建日期/创建时间、邮件大小,以及具体的邮件数据等),并将上述草稿邮件的有效信息对应存储于邮件服务器的草稿文件夹中。同时,邮件服务器会为接收到的每一封草稿邮件创建相应的邮件标识符,并将相应的邮件标识符返回移动终端,以便移动终端标识已同步至邮件服务器的草稿邮件。本实施例中的邮件标识符为邮件的uid号,uid号通常是用于唯一标识邮件系统中邮件的32位证书,邮件服务器中每一封邮件均唯一对应一个邮件标识符,用以区别其他邮件。移动终端在接收到邮件服务器返回的邮件标识符以后,将其存贮于邮件列表中,邮件列表用于存储各封草稿邮件对应的邮件信息,这里的邮件信息可以包括上述草稿邮件的有效信息以及草稿邮件的标识信息(如uid号)。

进一步的,检测邮件列表中是否包含与所述处于待上传状态的草稿邮件相对应的邮件标识符,以确定对应草稿邮件的同步记录。

步骤s20132:向所述邮件服务器发送邮件添加命令。

如果邮件列表中没有包含与处于待上传状态的草稿邮件唯一对应的邮件标识符,则表明此草稿邮件在此之前没有上传过邮件服务器,此时,向邮件服务器发送邮件添加命令,这样不会造成未经任何操作的同一封草稿邮件重复上传。

参见图7,为本申请实施例二提供的步骤s2011的流程图。由图7可见,步骤s2011包括如下步骤:

步骤s20111:当移动终端处于保存或更新草稿邮件状态时,检测是否接收到将所述草稿邮件同步至邮件服务器的指令。如果接收到将所述草稿邮件同步至邮件服务器的指令,则执行步骤s20112。

步骤s20112:将所述草稿邮件设置为待上传状态。

本实施例在移动终端处于保存或更新草稿邮件状态时,通过检测保存或者更新的草稿邮件的同步命令,来确定该草稿邮件的上传状态。通过以上方式确定草稿邮件的上传状态,能够避免上述将没有改动的草稿邮件重复上传的问题。另外,本实施例在草稿邮件保存或更新的同时确定其上传状态,也就是草稿邮件发生改动时,其上传状态会随之确定。移动终端实时检测到存在处于待上传状态的草稿邮件时,触发同步机制,以将此草稿邮件同步至邮件服务器,可见,本实施例确定草稿邮件上传状态的时间条件,有利于进一步以缩短草稿邮件的同步周期。

在终端设备首次安装邮件客户端时,首先需要在终端设备的本地数据库中创建草稿文件夹,并且建立终端设备中草稿文件夹与邮件服务器中草稿文件夹的对应关系,以便后续将终端设备中处于待上传状态的草稿邮件同步至邮件服务器,以及,将邮件服务器中的草稿邮件下载至本地数据库进行进一步处理。针对移动终端首次使用邮件客户端的情况,参见图8,为实施例二提供的移动终端创建草稿文件夹方法的流程图,具体的,在步骤s2011中在将移动终端的草稿文件夹中需要同步的草稿邮件设置为待上传状态之前,实施例二还可以包括如下步骤:

步骤s2001:向相应邮件服务器发送列目录命令,以获取所述邮箱服务器中的文件夹列表。

imap协议中的列目录命令(list命令)用于列出邮件服务器中已有的文件夹,具体包括两个参数,第一个是邮箱路径参数base,表示用户登陆目录;第二个参数是template,表示希望显示的文件夹名称。list命令可以包含起始的路径位置和需要列出的文件夹所符合的特征。本实施例可以通过list命令列出邮件服务器中所包含的所有文件夹,其他实施例也可以通过template参数直接筛选出草稿文件夹。

在邮件服务器接收到移动终端发送的list命令之后,会向移动终端返回邮箱服务器中的文件夹列表,文件夹列表包括邮件服务器中各个文件夹对应的文件夹信息。文件夹信息可以包括文件夹属性、用于唯一标识邮件服务器中文件夹的文件夹标识符,以及文件夹在邮件服务器中的存储路径等信息。

步骤s2002:从所述文件夹列表中提取邮件服务器中草稿文件夹的文件夹信息。

文件夹信息包括文件夹属性,本实施例可以文件夹属性来识别草稿文件夹。具体的,草稿文件夹的文件夹属性标识为drafts,因此,可将文件夹属性为drafts的文件夹确定为草稿文件夹,从而提取与草稿文件夹对应的文件夹信息。

步骤s2003:在移动终端中创建用于存储草稿邮件的草稿文件夹,所述草稿文件夹中包括所述邮件服务器中草稿文件夹的文件夹信息。

本实施例中,通过步骤s2001至步骤s2003,建立了移动终端中草稿文件夹与邮件服务器中草稿文件夹的对应关系,以便后续终端设备与邮件服务器的同步操作。

本申请实施例三还提供了一种基于imap协议的草稿邮件的同步装置,应用于移动终端。参见图9,为本申请实施例三提供的一种基于imap协议的草稿邮件的同步装置300的结构示意图。由图9可见,同步装置300包括:

第一存储模块301,用于当移动终端中待上传状态的草稿邮件上传至邮件服务器时,将邮件服务器返回的草稿邮件的邮件标识符存储于第一列表;

第二存储模块302,用于获取邮件服务器中存储的草稿邮件的邮件标识符,且将所述邮件标识符存储于第二列表;

确定模块303,用于确定目标邮件标识符,所述目标邮件标识符存储于第二列表,而未存储于第一列表;

同步模块304,用于将与所述目标邮件标识符对应的草稿邮件从所述邮件服务器下载至移动终端。

此外,本申请还提供了一种终端设备,所述终端设备包括实施例三所述的同步装置。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的呼叫方法的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1