一种邮件解析方法、装置、服务器和存储介质转让专利
申请号 : CN201810541554.0
文献号 : CN108768835B
文献日 : 2022-03-18
发明人 : 杨良志 , 汪志新 , 丁德平 , 邵正军
申请人 : 彩讯科技股份有限公司
摘要 :
权利要求 :
1.一种邮件解析方法,其特征在于,包括:在接收邮件时,根据多用途互联网邮件扩展MIME邮件数据中的边界标识,确定所述MIME邮件数据中的各附件块信息;
获取所述多用途互联网邮件扩展MIME邮件数据中的至少一个边界标识,所述边界标识包括边界类型和边界参数;
若根据各所述边界标识中的边界类型确定所述MIME邮件数据中存在附件,则根据与所述附件对应的各边界标识中的边界参数确定所述各附件块信息;
在接收到用户作用的邮件解析指令时,根据所述邮件解析指令对所述MIME邮件数据中除所述各附件块信息之外的其余邮件信息进行解析;
根据解析出的其余邮件信息和所述各附件块信息生成邮件显示数据,包括:根据所述解析出的其余邮件信息确定所述邮件中的文本信息和/或内联图片信息,以及在邮件显示数据中对应的显示位置;
将所述文本信息和/或内联图片信息显示于对应的显示位置,并结合所述各附件块信息生成邮件显示数据;
将所述各附件块信息存储至附件表中;
相应的,在接收到用户作用的附件解析指令时,在所述附件表中获取与所述附件解析指令对应的目标附件块信息,并基于所述目标附件块信息对所述MIME邮件数据中的目标附件数据进行解析。
2.根据权利要求1所述的方法,其特征在于,所述附件块信息包括:附件块的起始位置、附件块长度以及附件块名称。
3.一种邮件解析装置,其特征在于,包括:附件确定模块,用于在接收邮件时,根据多用途互联网邮件扩展MIME邮件数据中的边界标识,确定所述MIME邮件数据中的各附件块信息;
所述附件确定模块包括标识获取单元和附件确定单元;
其中,所述标识获取单元,用于获取所述多用途互联网邮件扩展MIME邮件数据中的至少一个边界标识,所述边界标识包括边界类型和边界参数;
附件确定单元,用于若根据各所述边界标识中的边界类型确定所述MIME邮件数据中存在附件,则根据与所述附件对应的各边界标识中的边界参数确定所述各附件块信息;
邮件解析模块,用于在接收到用户作用的邮件解析指令时,根据所述邮件解析指令对所述MIME邮件数据中除所述各附件块信息之外的其余邮件信息进行解析;
解析页面生成模块,用于根据解析出的其余邮件信息和所述各附件块信息生成邮件显示数据;
其中,所述解析页面生成模块包括:显示确定单元,用于根据所述解析出的其余邮件信息确定所述邮件中的文本信息和/或内联图片信息,以及在邮件显示数据中对应的显示位置;
邮件显示生成单元,用于将所述文本信息和/或内联图片信息显示于对应的显示位置,并结合所述各附件块信息生成邮件显示数据;
附件存储模块,用于将所述各附件块信息存储至附件表中;
附件解析模块,用于在接收到用户作用的附件解析指令时,在所述附件表中获取与所述附件解析指令对应的目标附件块信息,并基于所述目标附件块信息对所述MIME邮件数据中的目标附件数据进行解析。
4.根据权利要求3所述的装置,其特征在于,所述附件块信息包括:附件块的起始位置、附件块长度以及附件块名称。
5.一种服务器,其特征在于,所述服务器包括:一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑2中任一所述的邮件解析方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑2中任一所述的邮件解析方法。
说明书 :
一种邮件解析方法、装置、服务器和存储介质
技术领域
背景技术
Mail Extensions,MIME)协议进行传输,将MIME报文作为邮件内容的载体,可以同时包含如
富文本、内联图片、附件以及会议相关等各种信息,当前邮件的MIME报文内容越来越大,对
文字对应的多种字符集以及编码等存在很多非标准化的情况,对邮件解析能力也存在较高
要求。
符的扫描,以得到邮件报文中包含的不同文本块、图片块和附件块等,再针对不同块的数据
块进行解析,并将解析后的附件块以及图片等信息存储至磁盘上。此时,对于包含20M或更
大附件的邮件来说,邮件解析所消耗的时间较长,占用的内存也很大,严重降低了本地邮件
的解析效率。
发明内容
升邮件解析性能,提高用户使用体验。
其余邮件信息进行解析,减小了邮件加载和解析过程中的时长消耗和内存占用,提升了邮
件解析性能,提高了用户使用体验。
附图说明
具体实施方式
于描述,附图中仅示出了与本发明相关的部分而非全部结构。
提供的邮件解析装置来执行,该装置可以通过软件和/或硬件的方式来实现,并集成在执行
本方法的服务器中,在本实施例中执行本方法的服务器可以是平板电脑、台式机、笔记本和
手机等任意一种包含邮件客户端的智能设备。具体的,参考图1A,该方法可以包括如下步
骤:
式RFC 822和MIME协议定义。RFC 822标准只能发送基本的ASCII码文本信息,而MIME协议还
可以在邮件中添加多种不同富文本、内联图片和附件等存在不同字符集和编码的邮件内
容。此时,由MIME协议定义的可以在其中附加多种不同编码文件的邮件数据为MIME邮件数
据。具体的,MIME邮件数据可以由邮件头和邮件体两部分组成。其中,邮件头中可以包含发
件人、收件人、主题、时间、MIME版本和邮件类型等重要信息,邮件体中可以包含纯文本、超
文本、内嵌资源(比如内嵌在超文本中的图片)或者附件组合等其中的至少一项,以此表示
该邮件中的具体内容,此时,邮件体可以分别通过包含段头和段体的多个段,来具体表示该
邮件中的每一项内容。需要说明的是,本实施例邮件体中包含的邮件具体内容可以通过邮
件头中的邮件类型来区分。
由用户自定义,边界标识可以在多个邮件内容中区分出每一项邮件内容,并确定每一项邮
件内容对应的字段在邮件体中的具体位置。具体的,本实施例中的边界标识可以通过MIME
邮件数据中的boundary字段信息来确定。其中,边界标识可以包括邮件头中的邮件类型,以
此确定MIME邮件数据中包含的不同邮件内容。
MIME邮件进行预处理,也就是在该MIME邮件数据中查找出各个boundary字段信息,以此确
定对应的每个边界标识,并在全部边界标识中确定出与附件块信息对应的边界标识,以此
具体确定MIME邮件数据中的各附件块信息。其中,各附件块信息可以包括该接收的MIME邮
件数据中携带的所有附件。具体的,本实施例中接收邮件,可以是接收其他账户发送的新邮
件,也可以是在桌面中直接打开一个当前邮件客户端之前未曾打开的新邮件,例如,本地用
户在其他用户那里拷贝的,未在本地邮件客户端打开的其他账户的邮件。
时,可以直接通过解析邮件头中的邮件类型来确定该MIME邮件数据中是否包括附件。同时,
边界参数可以确定各附件块对应的字段在该MIME邮件数据中的具体位置,从而直接确定该
MIME邮件数据中的各附件块信息。
件内容还包括多种混合的其它内容时,Content‑Type字段为multipart类型,包括
multipart/mixed类型、multipart/related类型和multipart/Alternative类型。其中,三
者之间相互关联,multipart/mixed类型表示首级块信息,在MIME邮件数据中存在附件;
multipart/related类型表示次级块信息,在MIME邮件数据中存在内嵌资源,例如内嵌在超
文本中的图片等;multipart/Alternative类型表示在MIME邮件数据中存在多个文本块。
在接收到邮件时,MIME邮件数据中的邮件头包括:
各附件的具体信息。
件体中确定该文本块的具体信息。
时,可以设置有多个不同的边界标识,分别对应不同的邮件内容。在接收到邮件时,首先获
取MIME邮件数据中的至少一个边界标识,以及边界标识中的边界类型和边界参数,也就是
Content‑Type字段和boundary字段信息。
在附件,此时获取与附件对应的各边界标识中的边界参数,也就是与该multipart/mixed字
段对应的boundary字段参数,根据该boundary字段参数在邮件体中确定各个附件块信息。
确定该boundary字段包含的字段信息,也就是各附件块信息。例如:邮件体中的
附件块名称等内容,通过对各附件块信息进行解析,可以预先得到各个附件块的名称和大
小等信息,以此来确定MIME邮件数据中的各附件块的具体信息,以备后续使用。
息时的对应命令,从而对对应指定的邮件进行解析。
息后,将各附件块信息在MIME邮件数据中过滤掉,仅对除各附件块信息之外的其余邮件信
息进行加载解析,不对各附件块进行解析,提高邮件加载和解析效率。其中,其余邮件信息
可以包括该MIME邮件数据中的正文信息和内联图片等信息。
的各附件块信息生成邮件显示数据,该邮件显示数据可以通过邮件页面显示,也可以将解
析后的邮件显示数据存储起来,以便后续利用。其中,该邮件显示数据中明确了该MIME邮件
数据中包含的具体邮件内容,邮件正文、内联图片以及携带的附件块等。可选的,可以通过
预先解析出附件块的名称和大小,仅显示各个附件块的名称和大小,而不对每一个附件块
的具体内容进行解析。
解析过程中的时长消耗和内存占用,提升了邮件解析性能,提高了用户使用体验。
表可以参照数据库中数据表的方式进行存储,并对每一数据记录设置关键字标识,以便后
续在需要解析对应附件块时,及时在附件表中查找到对应的附件块信息,提高解析效率。
的,在对解析出的其余邮件信息进行显示时,需要确定邮件中的文本信息和/或内联图片信
息,以及该文本信息和/或内联图片信息在邮件显示数据中对应的显示位置。
MIME邮件数据中确定的各附件块信息,结合各附件块的附件块名称和大小生成对应的邮件
显示数据,用于显示邮件解析结果。
解析,用户在双击邮件显示数据上的附件块时,邮件客户端会接收到用户作用的附件解析
指令,从而对相应附件块进行解析。
定对应的数据记录位置,从而查找该附件表中存储的目标附件块信息,确定目标附件块在
MIME邮件数据中的起始位置、附件块长度以及附件块名称等信息,根据目标附件块在MIME
邮件数据中的起始位置,读取该目标附件数据在MIME邮件数据中对应MIME字段信息,并根
据字段中对应的传输编码方式对该目标附件数据对应的MIME字段信息进行解码,得到解析
后的目标附件。可选的,可以通过将该解析出的目标附件数据存储到临时目录中,再行打
开,为用户显示对应的目标附件内容。
件加载和解析过程中的时长消耗和内存占用,提升了邮件解析性能,提高了用户使用体验。
解析过程中的时长消耗和内存占用,提升了邮件解析性能,提高了用户使用体验。
确定单元3102,用于若根据各边界标识中的边界类型确定MIME邮件数据中存在附件,则根
据与附件对应的各边界标识中的边界参数确定各附件块信息。
信息对MIME邮件数据中的目标附件数据进行解析。
对应的显示位置;邮件显示生成单元3302,用于将文本信息和/或内联图片信息显示于对应
的显示位置,并结合各附件块信息生成邮件显示数据。
可以是一个或多个,图4中以一个处理器40为例;服务器中的处理器40、存储器41、通信装置
42、输入装置43和输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
置中的附件确定模块310、邮件解析模块320和解析页面生成模块330)。处理器40通过运行
存储在存储器41中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据
处理,即实现上述的邮件解析方法。
外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁
盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步
包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上
述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
方法中的相关操作。
佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的
部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质
中,如计算机的软盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random
Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设
备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
替换、改进等,均应包含在本发明的保护范围之内。