掌桥专利:专业的专利平台
掌桥专利
首页

一种基于web方式的电子邮件自动采集的系统及方法

文献发布时间:2023-06-19 10:05:17


一种基于web方式的电子邮件自动采集的系统及方法

技术领域

本发明涉及互联网领域通过网络使用计算机软件自动采集多个指定webmail用户账号的电子邮件的系统及方法,特别是涉及一种基于web方式的电子邮件自动采集的系统及方法。

背景技术

目前,自动邮件采集和处理通常应用于企业信息管理、计算机网络取证等领域。

现有的邮件采集有下面几种方法:

1、通过本地操作和访问,直接从邮件服务器上获取指定邮件账号的邮件信息。即通过本地访问邮件服务器上的数据文件和数据库数据来获取特定邮件帐户的邮件,从而实现采集。该技术的缺陷在于如果无法直接控制和本地访问邮件服务器,就无法实施取证。即该种方法只限用于对企业自己提供的邮件服务器的邮件采集,对于企业之外的邮件服务器如yahoo、sina、163等公共邮件系统无法采用这种方式进行采集。

2、通过实现POP3(Post Office Protocol)或IMAP4(Interactive mail accessprotocol)协议,从支持POP3或IMAP4协议的邮件服务器上获取需要指定邮件账户的邮件,例如使用现有的微软的OUTLOOK软件或FOXMAIL软件。该技术缺点在于:只能针对支持POP3或IMAP4邮件协议的邮件系统自动采集邮件,如果邮件系统只提供基于网页方式方式,或者所在的网络环境中由于代理服务器或防火墙限制,只允许采用HTTP通信协议访问的webmailwebmail服务系统,则这种方法不能适用。

3、通过使用浏览器访问实施采集。对于提供webmail服务的邮件系统的邮件账号,可以通过使用浏览器直接访问webmail服务系统的网页,从而获取指定邮件账号的邮件信息。该技术存在的缺陷在于:一是只能人工使用手动操作方式访问网页,在webmail主页上人工操作逐一输入要采集的账号和密码登录webmail服务系统,然后人工访问各个文件夹逐一手动下载新邮件,速度慢,效率低,容易遗漏邮件信息;二是由于人工访问的时间差可能引起邮件读取状态的变化不及时,从而影响被采集账户的用户自身的正常使用。

针对上述邮件采集存在的问题,本发明提供一种高效的自动采集webmail邮件的方法和系统,可以应用于如yahoo、sina、163等公共webmail邮件系统。

发明内容

本发明目的为提供一种对基于web方式的电子邮件自动采集的方法和系统,该方法及系统能够针对多种webmail服务系统,多个用户基于web方式自动采集并存储用户邮件,不破坏、不影响被采集用户正常使用和访问自己的邮件信息。该系统及方法适用于现有的提供基于网页访问的webmail邮件服务的webmail服务系统, 整个采集过程使用HTTP通信协议,不受代理服务器或防火墙对外访问协议限制的影响,也不受其后台邮件服务协议采用POP3或IMAP4或其他服务协议的限制。

本发明解决技术问题所采用的方案是:

一种对基于web方式的电子邮件自动采集的系统,包括采集前端子系统、存储子系统、采集后端子系统;

所述采集前端子系统,用于对不同的邮件系统的指定邮件账户,采用web方式自动采集对应邮件账户在互联网上的webmail服务系统中的所有新邮件,存储到本地存储子系统中,并自动删除邮件服务器中已被采集的邮件信息;

所述存储子系统,对采集前端子系统自动采集的邮件分类按多层次目录文件存储,同时存储下载邮件的索引;

所述采集后端子系统,分析和呈现所有被采集邮件的内容,提供邮件的关键字搜索、排序功能,提供对采集前端子系统参数设置的功能。

所述采集前端子系统包括:webmail学习模块、webmail通信模块、webmail控制数据;所述webmail学习模块,通过以太网网络数据监听方式,获取通过人工使用浏览器以web方式登录访问指定的webmail服务系统的邮件账户登录、打开邮件箱行为的通信过程和通信内容,分析通信流程、通信内容、内容格式,根据分析结果生成并记录该webmail服务系统的访问模式。该访问模式用于后续对该webmail服务系统上的指定邮件账户的邮件自动采集的通信过程;所述webmail通信模块,依据webmail学习模块学习过程得到的访问模式,实施自动通过HTTP通信方式使用指定邮件账户登录指定webmail服务系统自动获取新邮件数据并传送到本地的通信过程;所述webmail控制数据,包含设置需要webmial通信模块自动采集邮件数据的邮件账户以及采集过程中的行为控制选项数据;

所述存储子系统包括:邮件文件生成模块,本地邮件存储器;所述邮件文件生成模块负责把单个邮件数据生成指定格式的文件;所有下载的邮件存储到本地邮件存储器中,并建立相应的索引。

所述采集后端子系统包括:邮件呈现模块,邮件解析模块,系统管理模块;所述邮件呈现模块负责以图形交互界面向用户呈现存储在本地邮件存储器中的自动采集的所有邮件文件;所述邮件解析模块负责从邮件文件中解析提取出邮件的发件人、收件人、发送时间、邮件标题、邮件正文、邮件附件等数据内容;所述系统管理模块负责管理和设置下列内容:添加、修改、删除要取证的邮件账户;设置采集行为控制选项数据;整理本地邮件存储器中存储的邮件;所有被采集的邮件的查找、排序。

所述存储子系统采用标准格式.eml格式存储邮件文件,所述的邮件解析模块按照.eml标准定义的格式解析邮件,解析得到的邮件数据中的邮件正文和附件采用超文本格式存储和呈现,其他部分采用纯文本格式存储和呈现。

一种对基于web方式的电子邮件自动采集的方法,采集方法如下:

1)学习过程:由人工在浏览器中手动操作对指定webmail服务系统的网页进行一次访问,完成webmail网页账户登录和访问邮箱的过程;在该过程中,使用webmail学习模块,通过以太网网络数据监听方式,获取人工访问指定webmail服务系统的账户登录、打开邮件箱行为的通信过程和通信内容,分析通信流程、通信内容、内容格式,根据分析结果生成并记录该webmail服务系统的访问模式;

2)采集过程:使用webmail通信模块,依据webmail学习模块获得的访问模式,实施自动通过HTTP通信方式使用指定邮件账户登录指定webmail服务系统自动获取新邮件数据并传送到本地的邮件自动采集过程;

所述webmail学习模块学习方法如下:

步骤一 在webmail学习模块提供的浏览器引擎中,人工操作输入待学习的指定webmail服务系统的web访问地址,进入该webmail服务系统的主页面;

步骤二 在浏览器引擎显示的web页面中,人工操作输入指定的webmail邮件账户和密码,登录该webmail服务系统,webmail学习模块包含的HTTP协议分析器自动记录登录过程的网络传输内容;

步骤三 登录成功后,人工操作依次打开收件箱、草稿箱、发件箱、已删除邮件箱、垃圾箱,webmail学习模块包含的HTTP协议分析器自动记录上述操作过程的网络传输内容;

步骤四 人工操作退出指定的webmail服务系统,webmail学习模块包含的HTTP协议分析器自动记录退出过程的网络传输内容;

步骤五 HTTP协议分析器分析上述记录的通信过程和内容,形成针对该webmail服务系统的HTTP通信访问模式,存入访问模式表;

所述的webmail通信模块采集过程如下:

步骤一 使用webmail通信模块,从邮件账号信息表获取一个指定要采集的webmail账号信息user_info;

步骤二 webmail通信模块分析获取的指定的webmail账号信息user_info,取得对应的webmail服务系统的域名地址user_domain_address;

步骤三 webmail通信模块查询访问模式表,取得指定的webmail账号信息user_info对应的域名地址user_domain_address对应的webmail访问模式user_access_mode;

步骤四 webmail通信模块根据webmail账号信息user_info填写好访问模式user_access_mode中的webmail服务系统登录的账号和密码信息,使用HTTP通信协议,自动登录指定的webmail服务系统;

步骤五 webmail通信模块自动登录指定的webmail服务系统后,按照访问模式user_access_mode依次自动访问指定webmail账号的所有邮箱文件夹,下载邮箱文件夹中的每一封新邮件并存储到本地;

步骤六完成新邮件下载后,webmail通信模块按照访问模式user_access_mode中的退出模式填写好退出指定webmail服务系统的HTTP通信报文,与webmail服务系统采用HTTP协议通信退出该webmail服务系统;

步骤七 webmail通信模块继续从邮件账号信息表取下一个账号信息并重复步骤一到步骤六,直到完成邮件账号信息表中所有账号信息的新邮件自动采集过程。

本发明的技术效果在于:

本发明上述方法和系统,能够在互联网环境下,适用多种不同的提供公众邮件服务的webmail服务系统,实现对指定的不同webmail服务系统的不同的多个邮件账号的邮件信息的自动采集。适宜作为一种基于web方式的电子邮件自动采集的系统及方法应用。

附图说明

图1为一种基于web方式的电子邮件自动采集的系统结构图;

图2为一种基于web方式的电子邮件自动采集的方法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本发明中,在不矛盾或冲突的情况下,本发明的所有实施例、实施方式以及特征可以相互组合。在本发明中,常规的设备、装置、部件等,既可以商购,也可以根据本发明公开的内容自制。在本发明中,为了突出本发明的重点,对一些常规的操作和设备、装置、部件进行的省略,或仅作简单描述。

据图1所示,本发明一种对基于web方式的电子邮件自动采集的系统,包括采集前端子系统、存储子系统、采集后端子系统;所述采集前端子系统包括:webmail学习模块、webmail通信模块、webmail控制数据;所述存储子系统包括:邮件文件生成模块,本地邮件存储器;所述采集后端子系统包括:邮件呈现模块,邮件解析模块,系统管理模块。

1、邮件账户信息表

邮件账号信息表用于存放指定的需要自动采集的邮件账号信息,包括邮件账号的用户名和密码信息。其中,邮件账号用户名必须是完整的邮件账号信息,格式为:用户名@邮件域名,如zhouzl2010@gmail.com实例所示。其中“邮件域名”值可以用于确定该邮件账户基于网页访问时的访问地址,如实例zhouzl2010@gmail.com中,基于网页访问web服务系统时,访问地址则为mail.gmail.com;

邮件账户信息表采用文本文件格式.txt存储;格式定义为:用户名, 密码。如:

zhouzl2020@gmail.com, 123456

test12020@yahoo.com, 12345678

test22020@163.com,12345678

每个邮件账户独占一行。

2、行为控制选项数据

采用文本文件格式.ini文件存储,每个选项独占一行,格式定义为:选项名=选项值。控制选项包括:

TIMER=0

SLEEP=10

MIN=10

MAX=25

TEMIER用于配置邮件采集端是否定时自动采集邮件。值为0,表示关闭定时采集功能,值为1,表示开启定时采集功能;

SLEEP用于设置自上一次自动采集邮件结束后,再次启动采集邮件的间隔时间,该时间以分钟为单位;

MIN和MAX选项用于设置自动采集过程中两封邮件下载的随机延时的间隔,以秒为单位;一些webmail服务系统存在因访问邮件频率过快而实施临时禁止访问系统的保护机制,为使既能尽快采集邮件,又不会触发webmail服务系统保护机制,延时时间设置在10到25秒之间。

5、已获取邮件索引

按照不同webmail服务系统分别按树形结构分别索引,如一级索引目录为yahoo服务系统邮件、gmail服务系统邮件、163服务系统邮件,二级索引目录为邮件账户名,三级索引为邮件ID。所有索引数据以SQLite数据库格式的文件保存。

6、访问模式表

访问模式表中存储经过学习的webmail服务系统的访问模式记录。

每条访问模式记录包含下述属性:

访问地址,登录访问模式,收件箱访问模式,草稿箱访问模式,发件箱访问模式,已删除邮件箱访问模式,垃圾箱访问模式,退出访问模式;

其中访问地址是一个主页的域名地址,如main.gmain.com;

其中每一个访问模式都是一个或多个存储的网页页面内容,按照HTML超文本文件格式存储。

7、webmail学习模块

当对某个邮件账户自动采集邮件时,如果该账号所在的webmail服务系统是首次被采集的,或该webmail服务系统以前被采集过,但是再次采集失败时(失败的原因可能是webmail服务系统更新升级),需要使用webmail学习模块对该webmail服务系统进行一次人工操作过程的学习过程,形成针对该webmail服务系统的自动采集的访问模式。如需要采集的邮件账号为zhouzl2020@gmail.com,则其对应的webmail服务系统地址为mail.gmail.com,如果在访问模式表中不存在mail.gmail.com的访问模式,或者存在对应的访问模式,但是对邮件账号zhouzl2020@gmail.com的邮件自动采集过程失败,则需要对mail.gmail.com服务系统重新进行学习;

Webmail学习模块由两部分构成:浏览器引擎、HTTP协议分析器;

对指定采集的邮件账号信息“username@maildomain, password”对应的webmail服务系统的学习过程步骤为:

步骤一 自动解析邮件账号username@maildomian,获得邮件账号用户名username和webmail服务系统地址mail.maildomain;

步骤二 在本模块提供的浏览器引擎中,人工操作输入待学习的webmail服务系统的web访问地址mail.maildomain,进入该webmail服务系统的主页面;

步骤三 在浏览器引擎显示的主页面中,人工操作输入指定的webmail邮件账户username和密码password,人工操作登录该webmail服务系统。本模块包含的HTTP协议分析器记载该登录过程的网络传输内容,形成登录访问模式;

步骤四 登录成功后,人工操作依次打开收件箱、草稿箱、发件箱、已删除邮件箱、垃圾箱。本模块包含的HTTP协议分析器记载上述人工操作过程的网络传输内容,依次形成收件箱访问模式、草稿箱访问模式、发件箱访问模式、已删除邮件箱访问模式、垃圾箱访问模式;

步骤五 人工操作退出webmail服务系统,本模块包含的HTTP协议分析器记载退出过程的网络传输内容,形成退出访问模式;

步骤六 webmail学习模块将上述学习过程的webmail服务系统的访问地址mail.maildomain和形成的登录访问模式、收件箱访问模式、草稿箱访问模式、发件箱访问模式、已删除邮件箱访问模式、垃圾箱访问模式、退出访问模式形成一条访问模式记录,存储到访问模式表中;

一次学习完成后,webmail通信模块就可以利用学习到的访问模式在后续的自动采集过程中实现自动访问该webmail服务系统,自动采集邮件,而无须人工操作的干预。

8、webmail通信模块

webmail通信模块完成所指定的邮件账号的邮件自动采集过程。

针对一个指定的邮件账户信息“username@maildomain, password”的webmail通信模块的实现步骤如下:

步骤一 自动解析邮件账号信息“username@maildomain, password”,获得邮件账号用户名username、密码password和webmail服务系统地址mail.maildomain;

步骤二 使用webmail服务系统地址mail@maildomain查询访问模式表,获取该webmail服务系统对应的访问模式;

步骤三 获取登录访问模式,使用邮件账号用户名username和密码password的值自动填充登录访问模式中对用表单的内容,使用HTTP协议通信报文实现自动登录webmail服务系统mail.maildomain;

步骤四 如果登录失败,标记失败信息,结束对该邮件账号信息的采集过程;否则转向步骤五;

步骤五 按照访问模式表中存储的访问模式依次自动访问该邮件账户的所有邮箱,包括收件箱、草稿箱、发件箱、已删除邮件箱、垃圾箱,自动下载邮箱中每一封新邮件。两封连续的邮件下载中间webmail通信模块要随机产生一个延时时间(值处于行为控制选项数据的MIN和MAX之间),延时后再继续下载下一封邮件。下载的邮件调用邮件文件生成模块生成.eml文件存储到本地邮件存储器中,并建立邮件索引;

如果访问某个邮箱失败,标记失败信息,结束对该邮件账号信息的采集过程;

步骤六 获取退出访问模式,按照访问模式表填写好退出对应webmail服务系统的HTTP协议通信报文,退出该webmail服务系统;标记成功信息,结束对该邮件账号信息的采集过程。

9、邮件文件生成模块和本地邮件存储器

邮件文件生成模块负责所采集到的邮件内容的本地存储文件的生成。每一封自动采集到的邮件所有内容都存储成标准的.eml格式的文件;

本地邮件存储器是一个指定的存储器目录。所有自动采集的邮件文件都存储在这个统一的存储器目录下。按照不同的webmail服务系统mail.maildomain、邮件账号名username、邮箱名称三个层次分类存储到不同的本地存储器子目录中;

对于本地邮件存储器中存储的所有邮件文件建立树形结构索引,一级索引目录为webmail服务系统名称,二级索引目录为邮件账户名,三级索引为邮件ID。所有索引数据以SQLite数据库格式的文件保存。

10、邮件内容解析模块

邮件存储文件.eml格式是一种公开格式的标准,按照标准定义的格式解析,即可以从文件中提取出邮件的发件人、收件人、发送时间、邮件标题、邮件正文、邮件附件;其中,邮件正文和附件允许是超文本格式,按照base64编码存储,其他部分为纯文本格式。

11、邮件内容呈现模块

本模块负责以图形交互界面向用户呈现存储在本地邮件存储器中的所有自动采集到的邮件。

呈现步骤为:

步骤一 由系统用户指定本地邮件存储器的目录地址;

步骤二 根据已获取邮件索引,读取本地邮件存储器目录地址中的内容,按照webmail服务系统的类型建立一级树结点,在图形界面中显示这些一级树结点内容;

步骤三 根据已获取邮件索引,读取本地邮件存储器目录地址中的内容,按照邮件账号名建立二级树结点,在图形界面中显示这些二级树结点内容;

步骤四 根据已获取邮件索引,读取本地邮件存储器目录地址中的内容,按照邮件账户下的邮箱建立三级树结点,在图形界面中显示这些三级树结点内容;

步骤五 当用户点击图形界面中的一、二级树结点时,展开下一级树结点;当用户点击图形界面中三级树结点时,在图形界面的列表中显示本地存储的对应邮箱中的所有邮件的摘要信息,包括:发件人、收件人、发送时间、邮件标题、是否有附件;

步骤六 当用户点击图形界面中的列表中的某封邮件时,弹出独立的页面,在独立页面中显示该封邮件的所有摘要内容、正文内容和包含的附件。

12、系统管理模块

系统管理模块负责管理和设置下列内容:添加、修改、删除要取证的邮件账户;设置行为控制选项数据值;整理本地邮件存储器中存储的邮件;所有被采集邮件的查找、排序。

13、电子邮件自动采集过程

步骤一 调用系统管理模块打开邮件账号信息表,添加需要采集的邮件账户信息;使用系统管理模块打开行为控制选项数据,设置好全局控制变量选项值;

步骤二 读取邮件账号信息表中的第一个邮件账号信息“username@maildomain,password”;

步骤三 对读出的邮件账号信息,解析邮件账号信息获得邮件账号用户名username、密码password和webmail服务系统地址mail.maildomain;

步骤四 使用解析出的webmail服务系统地址mail@maildomain查询访问模式表,获取该webmail服务系统对应的访问模式;如果在访问模式表中查询失败,则转向步骤五,如果查询成功,则转向步骤六;

步骤五 调用webmail学习模块对该服务系统地址mail@maildomain进行一次访问模式的学习过程,然后转向步骤七;

步骤六调用webmail通信模块,对指定的邮件账号信息“username@maildomain,password”实施自动采集操作;如果采集失败,转向步骤五;如果采集成功,转向步骤七;

步骤七 读取邮件账号信息表中的下一个邮件账号信息,如果读取成功,则转向步骤三,如果读取失败(表示已经处理完所有要采集的邮件账号信息),则结束本次自动采集过程。

本发明的特点:

本发明存在以下的特点:

1)普适性:无论被采集的webmail服务系统是采用POP3、IMAP4还是其他协议,只要其webmail服务系统提供WEB访问方式的服务,就适用于本发明的方法和系统。

2)采集过程自动化、智能化。设置好需采集的邮件账户,进行一次人工操作访问学习后,后续的采集过程无需人工干预,可以长时间的循环自动采集。智能化地调整对同一个邮件账户的服务系统的访问频度,避免由于频繁访问而被临时封锁账户的可能。

3)批量采集:只要把要采集的所有邮件账户设置到邮件账号信息表中,本发明的系统就可以依次处理所有设置的账户,自动将账户中收件箱、发件箱、垃圾箱等信箱中的未采集邮件下载到本地存储器中,无需人工手动逐封邮件采集下载。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于web方式的电子邮件自动采集的系统及方法
  • 一种配电自动化系统内主网信息的多方式采集与维护方法
技术分类

06120112410169