CN109120503B - 一种邮件操作的同步方法、装置及存储介质 - Google Patents
一种邮件操作的同步方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109120503B CN109120503B CN201710497583.7A CN201710497583A CN109120503B CN 109120503 B CN109120503 B CN 109120503B CN 201710497583 A CN201710497583 A CN 201710497583A CN 109120503 B CN109120503 B CN 109120503B
- Authority
- CN
- China
- Prior art keywords
- mailbox
- record
- deleting
- server
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Abstract
本发明公开了一种邮件操作的同步方法、装置及存储介质,属于通讯技术领域。所述方法包括:当对邮箱服务器的邮件进行删除操作时,根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/或邮件删除表的信息以记录所述删除操作;根据所述邮箱的账户协议类型及所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息。采用本发明,保持邮箱客户端与邮箱服务器之间数据的一致性。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及一种邮件操作的同步方法、装置及存储介质。
背景技术
IMAP和Exchange协议支持客户端与服务器之间的双向同步。邮件从客户端删除后,可以做到把邮件同步从服务器删除。
在客户端,从收件箱删除邮件时,通用做法是把它移动到已删除箱体,同时从服务器端把这封邮件也移动到已删除箱体,这样保持客户端与服务器端数据是一致的,另外,这么做还有一个好处是用户可以从已删除箱体把删除的邮件再次找回来。
为了实现邮件客户端和邮箱服务器之间的数据同步,在Android设备上有三张邮件存储相关的表:邮件原始数据表,邮件更新表和邮件删除表(邮件删除表)。在客户端,当用户从已删除箱体删除邮件时,客户端将把邮件物理上删除,并同步把服务器上的已删除箱体的邮件删除。
然而现有技术中,在客户端将邮件从收件箱删除时,如果出现断网的情况,数据没同步上传到邮箱服务器,此时,邮件仍在邮箱服务器的收件箱中,如果从再将邮件从已删除箱体删除,是不能从服务器的已删除箱体删除数据的,当客户端再次与服务器建立连接时,会把服务器上的原始邮件再次同步到客户端。从而造成邮件删不掉,还会再次同步到邮件客户端。
发明内容
有鉴于此,本发明的目的在于提供一种邮件操作的同步方法、装置及存储介质,以解决现有技术邮箱客户端断网后在邮箱客户端的删除操作在连网后不能与邮箱服务器同步的问题。
本发明解决上述技术问题所采用的技术方案如下:
根据本发明的第一个方面,提供一种邮件操作的同步方法,适用于安装了邮箱应用的用户端设备,所述方法包括:
在删除邮箱服务器的邮件时,根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/或邮件删除表的信息以记录所述删除操作;
根据所述邮箱的账户协议类型及所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并根据所述邮箱服务器的同步操作结果同步修改原始数据表、邮件更新表以及邮件删除表中相对应的信息。
优选的,所述根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/或邮件删除表的信息,包括:
判断所述邮件所在的邮箱的箱体类型;
若所述邮箱的箱体类型为收件箱或收件箱性质的箱体,则将所述邮件在原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体;
若所述邮箱的箱体类型为已删除邮箱,则将所述邮件在所述原始数据表中的记录复制或者替换到所述邮件删除表,并在邮件更新表中存在所述邮件的记录时,在所述原始数据表中为所述邮件设置一个删除标志,或者在所述在邮件更新表中无所述邮件的记录时,物理删除所述邮件在原始数据表的记录。
优选的,当邮箱的邮箱账户协议类型为POP3账户时,所述将所述邮件在原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体之前,所述方法还包括:
判断所述邮箱是否选择了“从收件箱删除时是否同步从服务器删除”的设置选项;
若是,执行所述将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体的步骤;
否则,将所述邮件的所属箱体标识变更为已删除箱体,并在所述原始数据表插入一条与所述邮件具有相同服务器 ID的空数据,并为所述空数据添加删除标记。
优选的,所述根据所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件发送同步操作指令,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息,包括:
若所述邮箱的邮箱账户协议类型为POP3账户,根据所述邮件更新表的记录向所述邮箱服务器发送对邮箱服务器中与所述记录对应的邮件设置永久删除标记的指令;
当邮箱服务器完成设置永久删除标记的指令后,删除所述邮件更新表上对应的记录、所述原始数据表及所述邮件删除表中与所述对应的记录具有相同邮箱ID的记录。
优选的,所述根据所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件发送同步操作指令,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息,包括:
若所述邮箱的邮箱账户协议类型为IMAP账户,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令;
向所述邮箱服务器发送将所述对应的邮件从原始邮箱中删除的指令;
从所述邮件更新表中删除所述记录;
向所述邮箱服务器发送对邮箱服务器的已删除箱体的邮件设置永久删除标记的指令;
删除所述原始数据表和邮件删除表中具有与所述对应的邮件具有相同ID的记录。
优选的,所述根据所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件发送同步操作指令,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息,包括:
若所述邮箱的邮箱账户协议类型为Exchange账户,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令;
判断所述邮件删除表中是否具有与所述对应的邮件具有相同ID的记录;
若有,使用服务器返回的新的服务器 ID更新所述邮件删除表中对应记录的服务器 ID,并删除所述邮件更新表中的所述记录;
向所述邮箱服务器发送从所述邮箱服务器的已删除箱体中删除所述新的服务器ID对应的邮件的指令;
从所述邮件删除表删除对应的记录。
根据本发明的第二个方面,提供一种邮件操作的同步装置,适用于安装了邮箱应用的用户端设备,所述装置包括:
删除控制模块,用于在删除邮箱服务器的邮件时,根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/或邮件删除表的信息以记录所述删除操作;
同步控制模块,用于根据所述邮箱的账户协议类型及所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息。
优选的,所述删除控制模块包括:
第一判断子模块,用于判断所述邮件所在的邮箱的箱体类型;
记录管理子模块,用于在所述邮箱的箱体类型为收件箱或收件箱性质的箱体时,将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体,或者用于在所述邮箱的箱体类型为已删除邮箱时,将所述邮件在所述原始数据表中的记录复制或者替换到所述邮件删除表,并在邮件更新表中存在所述邮件的记录时,在所述原始数据表中为所述邮件设置一个删除标志;
删除子模块,用于在所述邮箱的箱体类型为已删除邮箱且所述在邮件更新表中无所述邮件的记录时,物理删除所述邮件在原始数据表的记录。
优选的,所述装置还包括:
判断模块,用于在所述邮箱的邮箱账户协议类型为POP3账户时,所述将所述邮件在原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体之前,判断所述邮箱是否选择了“从收件箱删除时是否同步从服务器删除”的设置选项;
所述删除控制模块,还用于在选择了所述设置选项时,执行所述将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体的步骤,或者还用于在未选择所述设置选项时,将邮件的所属箱体标识变更为已删除箱体,并在所述原始数据表插入一条与所述邮件具有相同服务器 ID的空数据,并为所述空数据添加删除标记。
优选的,同步控制模块包括:
发送子模块,用于在所述邮箱的邮箱账户协议类型为POP3账户时,根据所述邮件更新表的记录向所述邮箱服务器发送对邮箱服务器中与所述记录对应的邮件设置永久删除标记的指令;
记录删除子模块,用于删除所述邮件更新表、所述原始数据表及所述邮件删除表中与所述对应的记录具有相同邮箱ID的记录。
优选的,所述发送子模块,还用于在所述邮箱的邮箱账户协议类型为IMAP账户时,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令,以及向所述邮箱服务器发送所述对应的邮件从原始邮箱中删除的指令;
所述删除子模块,还用于从所述邮件更新表中删除所述记录;
所述发送子模块,还用于向所述邮箱服务器发送对邮箱服务器的已删除箱体的邮件设置永久删除标记的指令;
所述删除子模块,还用于删除所述原始数据表和邮件删除表中具有与所述对应的邮件具有相同ID的记录。
优选的,所述同步控制模块还包括第二判断子模块:
所述发送子模块,还用于在所述邮箱的邮箱账户协议类型为Exchange账户时,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令;
所述第二判断子模块,用于判断所述邮件删除表中是否具有与所述对应的邮件具有相同ID的记录;
所述删除模块,还用于在所述第二判断子模块的判断结果为是时,使用服务器返回的新的服务器 ID更新所述邮件删除表中对应记录的服务器 ID,并删除所述邮件更新表中的所述记录;
向所述邮箱服务器发送从所述邮箱服务器的已删除箱体中删除所述新的服务器ID对应的邮件的指令;
从所述邮件删除表删除对应的记录。
根据本发明的第三个方面,提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如第一方面所述的步骤。
本发明实施例的邮件操作的同步方法、装置及存储介质,在通过用户端对邮箱服务器中的邮件进行删除操作时,邮件更新表和/或邮件删除表的信息以记录所述删除操作,然后再根据邮件更新表和/或邮件删除表的信息对邮箱服务器进行操作,即使用户在客户端将邮件从收件箱删除时邮箱客户端与邮箱服务器断开连接,在下次同步时,也能够根据邮件更新表和/或邮件删除表的信息对邮箱服务器进行同步操作,保持邮箱客户端与邮箱服务器之间数据的一致性,并且跟用户的操作结果预期一致。
附图说明
图1为本发明实施例一提供的一种邮件操作的同步方法的流程图;
图2为本发明实施例一的另一个方案的流程图;
图3为本发明实施例一中判定了邮件所在邮箱为收件箱时,图1中步骤S101的流程图;
图4为发明实施例一提供的一种邮件操作的同步装置的模块结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例一提供了一种邮件操作的同步方法,适用于安装了邮箱应用的用户端设备,请参阅图1,方法流程包括:
S101、当对邮箱服务器的邮件进行删除操作时,根据该邮件所在的邮箱,修改该邮件在邮件更新表和/或邮件删除表的信息以记录该删除操作;
S102、根据该邮箱的账户协议类型及该邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并修改原始数据表、邮件更新表以及邮件删除表中相对应的信息。
实际应用中,步骤S102可以根据邮箱服务器的同步操作结果修改该原始数据表、邮件更新表以及邮件删除表中相对应的信息。
在一个可行的方案中,请参阅图2,在步骤S101之前,该方法还包括:
S201、获取被删除邮件所在的箱体信息;
S202、根据该箱体信息判断该邮箱是否为服务器端箱体,若是执行步骤S203,否则执行步骤S204;
实际应用中,可以根据箱体信息中的服务器ID是否为空判定被删除邮件所在的邮箱是否是服务器箱体。一般情况下,当服务器ID为非空时,判定为服务器箱体,否则为本地邮箱。
S203、判定该邮箱是否支持服务器同步,若是执行步骤S101和S102,否则执行步骤S204;
S204、直接从物理上删除邮件,并删除原始数据表中的被操作邮件的记录。
在一个可行的方案中,步骤S101包括:
判断该邮件所在的邮箱的箱体类型;
若该邮箱的箱体类型为收件箱或收件箱性质的箱体,则将该邮件在该原始数据表中的记录拷贝或者更新到邮件更新表,并把该邮件的所属箱体标识变更为已删除箱体;
若该邮箱的箱体类型为已删除邮箱,则将该邮件在该原始数据表中的记录复制或者替换到该邮件删除表,并在邮件更新表中存在该邮件的记录时,在该原始数据表中为该邮件设置一个删除标志,或者在该在邮件更新表中无该邮件的记录时,物理删除该邮件在原始数据表的记录。
实际应用中,如果无法判定邮件所在邮箱的箱体类型或者判定箱体类型不是上述三中类型,则进行出错处理。
在一个可行的方案中,请参阅图3,当判定了邮件所在邮箱为收件箱时,该方法还包括:
S301、判断该邮箱的邮箱账户协议类型是否为邮局协议版本3(Post OfficeProtocol - Version 3,POP3)账户,若是,执行步骤S302,否则执行步骤S303;
S302、判断设置选项是否设置了“从收件箱删除时是否同步从服务器删除”,若是,执行步骤S303,否则,执行步骤S304;
S303、将该邮件在该原始数据表中的记录拷贝或者更新到邮件更新表,并把该邮件的所属箱体标识变更为已删除箱体;
S304、将该邮件的所属箱体标识变更为已删除箱体,并在该原始数据表插入一条与该邮件具有相同服务器ID的空数据,并为该空数据添加删除标记或类似属性。
实际应用中,步骤S304中,在该设置选项为“从不与服务器同步”时,把被操作邮件的箱体变更为已删除箱体,同时插入一条与被操作邮件具有相同服务器ID的空数据到原始数据表中,并把这条空数据添加上删除标记或者其它类似属性,以便于邮箱客户端查询箱体邮件时过滤掉此属性的邮件从而在界面上不再显示它。
在一个可行的方案中, 在执行步骤S102时,首先判断邮箱账户协议类型,根据不同邮箱账户协议类型进行不同处理。针对每个账户,优先处理邮件客户端的数据变更上传到服务器,再处理服务器的数据同步到邮件客户端。在处理客户端数据上传时,优先处理邮件更新表的记录同步上传到邮箱服务器,然后再处理邮件删除表的记录同步上传到邮箱服务器,然后在邮箱服务器返回同步操作成功的消息后,再进行修改该原始数据表、邮件更新表以及邮件删除表中相对应的信息。具体的,步骤S102,包括:
1、若该邮箱的邮箱账户协议类型为POP3账户,根据该邮件更新表的记录向该邮箱服务器发送对邮箱服务器中与该记录对应的邮件设置永久删除标记的指令;
当邮箱服务器完成设置永久删除标记的指令后,删除邮件更新表上对应的记录、原始数据表及邮件删除表中与该对应的记录具有相同邮箱ID的记录。
2、若该邮箱的邮箱账户协议类型为交互式邮件存取协议(Internet MessageAccess Protocol,IMAP)账户,根据该邮件更新表的记录,向该邮箱服务器发送将该邮箱服务器中与该记录对应的邮件拷贝到已删除箱体的指令;
当该邮箱服务器完成该拷贝的指令后,向该邮箱服务器发送将该对应的邮件从原始邮箱中删除的指令;
当邮箱服务器完成删除的指令后,从邮件更新表中删除该记录;
向该邮箱服务器发送对邮箱服务器的已删除箱体的邮件设置永久删除标记的指令;
当邮箱服务器完成设置永久删除标记的指令后,删除原始数据表和邮件删除表中具有与该对应的邮件具有相同ID的记录。
3、若邮箱的邮箱账户协议类型为Exchange账户,根据邮件更新表的记录,向邮箱服务器发送将该邮箱服务器中与该记录对应的邮件拷贝到已删除箱体的指令;
判断邮件删除表中是否具有与该对应的邮件具有相同ID的记录;
若有,使用邮箱服务器返回的新的服务器ID更新该邮件删除表中对应记录的服务器ID,并删除该邮件更新表中的该记录;
向邮箱服务器发送从该邮箱服务器的已删除箱体中删除与该新的服务器ID对应的邮件的指令;
当该邮箱服务器将完成该指令后,从该邮件删除表删除对应的记录。
本实施例的邮件操作的同步方法,在通过用户端对邮箱服务器中的邮件进行删除操作时,邮件更新表和/或邮件删除表的信息以记录该删除操作,然后再根据邮件更新表和/或邮件删除表的信息对邮箱服务器进行操作,即使用户在客户端将邮件从收件箱删除时邮箱客户端与邮箱服务器断开连接,在下次同步时,也能够根据邮件更新表和/或邮件删除表的信息对邮箱服务器进行同步操作,保持邮箱客户端与邮箱服务器之间数据的一致性,并且跟用户的操作结果预期一致。
在上述实施例的基础上,本发明实施例二提供了一种邮件操作的同步装置,适用于安装了邮箱应用的用户端设备,请参阅图4,该装置包括:
删除控制模块401,用于在对邮箱服务器的邮件进行删除操作时,根据该邮件所在的邮箱,修改该邮件在邮件更新表和/或邮件删除表的信息以记录该删除操作;
同步控制模块402,用于根据该邮箱的账户协议类型及该邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并根据该邮箱服务器的同步操作结果同步修改该原始数据表、邮件更新表以及邮件删除表中相对应的信息。
在一个可行的方案中,该装置还包括:
获取模块,用于获取被删除邮件所在的箱体信息;
判断模块,用于根据该箱体信息判断该邮箱是否为服务器端箱体;
删除控制模块401,还用于在该邮箱为服务器端箱体时,对邮箱服务器的邮件进行删除操作时,根据该邮件所在的邮箱,修改该邮件在邮件更新表和/或邮件删除表的信息以记录该删除操作。
实际应用中,该判断模块可以根据箱体信息中的服务器ID是否为空判定被删除邮件所在的邮箱是否是服务器箱体。一般情况下,当服务器ID为非空时,判定为服务器箱体。
在一个可行的方案中,该删除控制模块401包括:
第一判断子模块,用于判断该邮件所在的邮箱的箱体类型;
记录管理子模块,用于在该邮箱的箱体类型为收件箱或收件箱性质的箱体时,将该邮件在该原始数据表中的记录拷贝或者更新到邮件更新表,并把该邮件的所属箱体标识变更为已删除箱体,或者用于在该邮箱的箱体类型为已删除邮箱时,将该邮件在该原始数据表中的记录复制或者替换到该邮件删除表,并在邮件更新表中存在该邮件的记录时,在该原始数据表中为该邮件设置一个删除标志;
删除子模块,用于在该邮箱的箱体类型为已删除邮箱且该在邮件更新表中无该邮件的记录时,物理删除该邮件在原始数据表的记录。
在一个可行的方案中,判断模块,还用于在该邮箱的邮箱账户协议类型为POP3账户时,该将该邮件在该原始数据表中的记录拷贝或者更新到邮件更新表,并把该邮件的所属箱体标识变更为已删除箱体之前,判断该邮箱是否选择了“从收件箱删除时是否同步从服务器删除”的设置选项;
该删除控制模块,还用于在选择了该设置选项时,执行将该邮件在该原始数据表中的记录拷贝或者更新到邮件更新表,并把该邮件的所属箱体标识变更为已删除箱体的步骤,或者还用于在未选择该设置选项时,将该邮件的所属箱体标识变更为已删除箱体,并在该原始数据表插入一条与该邮件具有相同服务器ID的空数据,并为该空数据添加删除标记。
实际应用中,如果无法判定邮件所在邮箱的箱体类型或者判定箱体类型不是上述三中类型,则进行出错处理。
在一个可行的方案中,同步控制模块402包括:发送子模块,用于在该邮箱的邮箱账户协议类型为POP3账户时,根据该邮件更新表的记录向该邮箱服务器发送对邮箱服务器中与该记录对应的邮件设置永久删除标记的指令;
记录删除子模块,用于在邮箱服务器完成设置永久删除标记的指令后,删除该邮件更新表、该原始数据表及该邮件删除表中与该对应的记录具有相同邮箱ID的记录。
在一个可行的方案中,该发送子模块,还用于在该邮箱的邮箱账户协议类型为IMAP账户时,根据该邮件更新表的记录,向该邮箱服务器发送将该邮箱服务器中与该记录对应的邮件拷贝到已删除箱体的指令,以及在该邮箱服务器完成该拷贝的指令后,向该邮箱服务器发送该对应的邮件从原始邮箱中删除的指令;
该删除子模块,还用于在该邮箱服务器完成该删除的指令后,从该邮件更新表中删除该记录;
该发送子模块,还用于向该邮箱服务器发送对邮箱服务器的已删除箱体的邮件设置永久删除标记的指令;
该删除子模块,还用于在该邮箱服务器完成该设置永久删除标记的指令后,删除该原始数据表和邮件删除表中具有与该对应的邮件具有相同ID的记录。
在一个可行的方案中,该发送子模块,还用于在该邮箱的邮箱账户协议类型为Exchange账户时,根据该邮件更新表的记录,向该邮箱服务器发送将该邮箱服务器中与该记录对应的邮件拷贝到已删除箱体的指令;
第二判断子模块,用于判断该邮件删除表中是否具有与该对应的邮件具有相同ID的记录;
该删除子模块,还用于在该第二判断子模块的判断结果为是时,使用服务器返回的新的服务器ID更新该邮件删除表中对应记录的服务器ID,并删除该邮件更新表中的该记录;
发送子模块,还用于向该邮箱服务器发送从该邮箱服务器的已删除箱体中删除该新的服务器ID对应的邮件的指令;
删除子模块,还用于在该邮箱服务器将完成该指令后,从该邮件删除表删除对应的记录。
本实施例的邮件操作的同步装置,在通过用户端对邮箱服务器中的邮件进行删除操作时,邮件更新表和/或邮件删除表的信息以记录该删除操作,然后再根据邮件更新表和/或邮件删除表的信息对邮箱服务器进行操作,即使用户在客户端将邮件从收件箱删除时邮箱客户端与邮箱服务器断开连接,在下次同步时,也能够根据邮件更新表和/或邮件删除表的信息对邮箱服务器进行同步操作,保持邮箱客户端与邮箱服务器之间数据的一致性,并且跟用户的操作结果预期一致。
在前述实施例的基础上,本发明实施例三提供了一种存储介质,该存储介质包括存储的程序,在该程序运行时控制该存储介质所在设备执行如实施例一的操作。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (11)
1.一种邮件操作的同步方法,适用于安装了邮箱应用的用户端设备,其特征在于,所述方法包括:
在删除邮箱服务器的邮件时,根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/或邮件删除表的信息以记录所述删除操作;
根据所述邮箱的邮箱账户协议类型及所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并修改原始数据表、所述邮件更新表以及邮件删除表中相对应的信息;
所述根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/ 或邮件删除表的信息,包括:
判断所述邮件所在的邮箱的箱体类型;
若所述邮箱的箱体类型为收件箱或收件箱性质的箱体,则将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体;
若所述邮箱的箱体类型为已删除邮箱,则将所述邮件在所述原始数据表中的记录复制或者替换到所述邮件删除表,并在邮件更新表中存在所述邮件的记录时,在所述原始数据表中为所述邮件设置一个删除标志,或者在所述在邮件更新表中无所述邮件的记录时,物理删除所述邮件在原始数据表的记录。
2.如权利要求1所述的方法,其特征在于,当所述邮箱的邮箱账户协议类型为POP3账户时,将所述邮件在原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体之前,所述方法还包括:
判断所述邮箱是否选择了“从收件箱删除时是否同步从服务器删除”的设置选项;
若是,执行所述将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体的步骤;
否则,将所述邮件的所属箱体标识变更为已删除箱体,并在所述原始数据表插入一条与所述邮件具有相同服务器 ID的空数据,并为所述空数据添加删除标记。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件发送同步操作指令,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息,包括:
若所述邮箱的邮箱账户协议类型为POP3账户,根据所述邮件更新表的记录向所述邮箱服务器发送对邮箱服务器中与所述记录对应的邮件设置永久删除标记的指令;
删除所述邮件更新表上对应的记录、所述原始数据表及所述邮件删除表中与所述对应的记录具有相同邮箱ID的记录。
4.根据权利要求3所述的方法,其特征在于,所述根据所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件发送同步操作指令,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息,包括:
若所述邮箱的邮箱账户协议类型为IMAP账户,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令;
向所述邮箱服务器发送将所述对应的邮件从原始邮箱中删除的指令;
从所述邮件更新表中删除所述记录;
向所述邮箱服务器发送对邮箱服务器的已删除箱体的邮件设置永久删除标记的指令;
删除所述原始数据表和邮件删除表中具有与所述对应的邮件具有相同ID的记录。
5.根据权利要求4所述的方法,其特征在于,所述根据所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件发送同步操作指令,并根据所述邮箱服务器的同步操作结果同步修改所述原始数据表、邮件更新表以及邮件删除表中相对应的信息,包括:
若所述邮箱的邮箱账户协议类型为Exchange账户,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令;
判断所述邮件删除表中是否具有与所述对应的邮件具有相同ID的记录;
若有,使用服务器返回的新的服务器 ID更新所述邮件删除表中对应记录的服务器ID,并删除所述邮件更新表中的所述记录;
向所述邮箱服务器发送从所述邮箱服务器的已删除箱体中删除所述新的服务器 ID对应的邮件的指令;
从所述邮件删除表删除对应的记录。
6.一种邮件操作的同步装置,适用于安装了邮箱应用的用户端设备,其特征在于,所述装置包括:
删除控制模块,用于在删除邮箱服务器的邮件时,根据所述邮件所在的邮箱,修改所述邮件在邮件更新表和/或邮件删除表的信息以记录所述删除操作;
同步控制模块,用于根据所述邮箱的账户协议类型及所述邮件更新表和/或邮件删除表中记录的删除操作,对邮箱服务器中对应的邮件进行同步操作,并根据所述邮箱服务器的同步操作结果同步修改原始数据表、邮件更新表以及邮件删除表中相对应的信息;
所述删除控制模块包括:
第一判断子模块,用于判断所述邮件所在的邮箱的箱体类型;
记录管理子模块,用于在所述邮箱的箱体类型为收件箱或收件箱性质的箱体时,将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体,或者用于在所述邮箱的箱体类型为已删除邮箱时,将所述邮件在所述原始数据表中的记录复制或者替换到所述邮件删除表,并在邮件更新表中存在所述邮件的记录时,在所述原始数据表中为所述邮件设置一个删除标志;
删除子模块,用于在所述邮箱的箱体类型为已删除邮箱且所述在邮件更新表中无所述邮件的记录时,物理删除所述邮件在原始数据表的记录。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
判断模块,用于在所述邮箱的邮箱账户协议类型为POP3账户时,将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体之前,判断所述邮箱是否选择了“从收件箱删除时是否同步从服务器删除”的设置选项;
所述删除控制模块,还用于在选择了所述设置选项时,执行所述将所述邮件在所述原始数据表中的记录拷贝或者更新到邮件更新表,并把所述邮件的所属箱体标识变更为已删除箱体的步骤,或者还用于在未选择所述设置选项时,将所述邮件的所属箱体标识变更为已删除箱体,并在所述原始数据表插入一条与所述邮件具有相同服务器 ID的空数据,并为所述空数据添加删除标记。
8.根据权利要求6或7所述的装置,其特征在于,同步控制模块包括:
发送子模块,用于在所述邮箱的邮箱账户协议类型为POP3账户时,根据所述邮件更新表的记录向所述邮箱服务器发送对邮箱服务器中与所述记录对应的邮件设置永久删除标记的指令;
记录删除子模块,用于删除所述邮件更新表、所述原始数据表及所述邮件删除表中与所述对应的记录具有相同邮箱ID的记录。
9.根据权利要求8所述的装置,其特征在于,
所述发送子模块,还用于在所述邮箱的邮箱账户协议类型为IMAP账户时,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令,以及向所述邮箱服务器发送所述对应的邮件从原始邮箱中删除的指令;
所述删除子模块,还用于从所述邮件更新表中删除所述记录;
所述发送子模块,还用于向所述邮箱服务器发送对邮箱服务器的已删除箱体的邮件设置永久删除标记的指令;
所述删除子模块,还用于删除所述原始数据表和邮件删除表中具有与所述对应的邮件具有相同ID的记录。
10.根据权利要求9所述的装置,其特征在于,所述同步控制模块还包括第二判断子模块:
所述发送子模块,还用于在所述邮箱的邮箱账户协议类型为Exchange账户时,根据所述邮件更新表的记录,向所述邮箱服务器发送将所述邮箱服务器中与所述记录对应的邮件拷贝到已删除箱体的指令;
所述第二判断子模块,用于判断所述邮件删除表中是否具有与所述对应的邮件具有相同ID的记录;
所述删除子模块,还用于在所述第二判断子模块的判断结果为是时,使用服务器返回的新的服务器 ID更新所述邮件删除表中对应记录的服务器 ID,并删除所述邮件更新表中的所述记录;
所述发送子模块,还用于向所述邮箱服务器发送从所述邮箱服务器的已删除箱体中删除所述新的服务器 ID对应的邮件的指令;
所述删除子模块,还用于从所述邮件删除表删除对应的记录。
11.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710497583.7A CN109120503B (zh) | 2017-06-26 | 2017-06-26 | 一种邮件操作的同步方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710497583.7A CN109120503B (zh) | 2017-06-26 | 2017-06-26 | 一种邮件操作的同步方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109120503A CN109120503A (zh) | 2019-01-01 |
CN109120503B true CN109120503B (zh) | 2022-05-13 |
Family
ID=64821815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710497583.7A Active CN109120503B (zh) | 2017-06-26 | 2017-06-26 | 一种邮件操作的同步方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109120503B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901229A (zh) * | 2020-08-06 | 2020-11-06 | 成都卫士通信息产业股份有限公司 | 一种邮件撤回方法、装置、电子设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164067A (ja) * | 2004-12-09 | 2006-06-22 | Canon Inc | 電子メール同期装置及び方法、並びにプログラム |
CN1859332A (zh) * | 2006-03-23 | 2006-11-08 | 华为技术有限公司 | 一种采用数据同步处理电子邮件的系统、装置及方法 |
CN102571990A (zh) * | 2012-03-16 | 2012-07-11 | 北京彩云荣光软件有限公司 | 移动终端电子邮件同步方法及系统 |
CN103546359A (zh) * | 2012-07-09 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 基于imap的数据同步方法、服务器、系统及存储介质 |
CN105897545A (zh) * | 2015-01-26 | 2016-08-24 | 九玉(北京)科技有限公司 | 一种邮件同步的方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8369497B2 (en) * | 2008-04-16 | 2013-02-05 | Scopes Philip M | Enhanced voicemail system and method |
US8369840B2 (en) * | 2008-12-16 | 2013-02-05 | At&T Mobility Ii, Llc | Visual voicemail method for managing deleted messages |
US9787769B2 (en) * | 2014-08-04 | 2017-10-10 | Oracle International Corporation | Power and network traffic optimization in communication synchronization |
US10397160B2 (en) * | 2015-08-19 | 2019-08-27 | Blackberry Limited | Method to pre-select folders to synchronize during initial email activation on a mobile device |
-
2017
- 2017-06-26 CN CN201710497583.7A patent/CN109120503B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006164067A (ja) * | 2004-12-09 | 2006-06-22 | Canon Inc | 電子メール同期装置及び方法、並びにプログラム |
CN1859332A (zh) * | 2006-03-23 | 2006-11-08 | 华为技术有限公司 | 一种采用数据同步处理电子邮件的系统、装置及方法 |
CN102571990A (zh) * | 2012-03-16 | 2012-07-11 | 北京彩云荣光软件有限公司 | 移动终端电子邮件同步方法及系统 |
CN103546359A (zh) * | 2012-07-09 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 基于imap的数据同步方法、服务器、系统及存储介质 |
CN105897545A (zh) * | 2015-01-26 | 2016-08-24 | 九玉(北京)科技有限公司 | 一种邮件同步的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109120503A (zh) | 2019-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106325933B (zh) | 批量数据同步方法和装置 | |
US10574826B2 (en) | Visual voicemail method for managing deleted messages | |
US20110029625A1 (en) | Method and system for processing email attachments | |
US20090177704A1 (en) | Retention policy tags for data item expiration | |
CN102609479B (zh) | 一种内存数据库节点复制方法 | |
CN110413282B (zh) | 一种冗余资源处理方法、装置、设备及存储介质 | |
CN103119550A (zh) | 存储具有时变特性的电子内容 | |
CN103037005B (zh) | 在线存储服务的文件同步方法和装置 | |
CN102769687A (zh) | 信息群发系统及方法 | |
TW201202959A (en) | Data synchronization methods for synchronizing data in communication systems and communication systems | |
CN105450682B (zh) | 一种用于数据同步保存、向客户端同步数据的方法、装置和系统 | |
CN102571990B (zh) | 移动终端电子邮件同步方法及系统 | |
CN102790725A (zh) | 一种消息同步方法和装置 | |
KR20150043335A (ko) | 확장 속성을 갖는 메시지 동기화 기법 | |
CN102739871B (zh) | 一种移动终端的信息发送方法及装置 | |
CN102186163B (zh) | 一种智能手机多账户通讯录的资料同步方法 | |
CN109120503B (zh) | 一种邮件操作的同步方法、装置及存储介质 | |
CN103944805A (zh) | 一种基于微信平台的信息更新方法和系统 | |
CN102594874B (zh) | 一种同步处理方法和装置 | |
KR101221672B1 (ko) | 데이터 동기화 시스템 | |
CN110502574B (zh) | 跨系统的信息同步方法、用户设备、存储介质及装置 | |
CN100525208C (zh) | 一种数据同步方法 | |
CN105827739A (zh) | 联系人信息同步方法、装置、服务器及系统 | |
CN104717248A (zh) | 文件网络共享方法、服务器及终端 | |
CN108566488B (zh) | 一种实现内存与用户识别卡数据同步的方法及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |