基于数据库存储的邮件收发方法技术

技术编号:2870264 阅读:218 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于数据库存储的邮件收发方法,其服务器采用数据库的形式对邮件信息进行存储,客户端可以直接操作存储邮件信息的数据库进行邮件的收发,在此过程需要单独进行邮件的解析与合成操作;客户端也可以兼容传统模式通过邮件收发服务间接操作存储邮件信息的数据库进行邮件的收发,此过程要进行模式转换操作。通过采用基于数据库存储的邮件收发方法后,有利于系统的查找和检索,同时使用户在收发邮件时操作更加简便,同时也可以使邮件服务系统结构更加简单、运行稳定、可维护性强。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术主要涉及互联网领域的电子邮件的存储和收发方法。
技术介绍
在目前高速发展的信息化社会中,电子邮件方式已经取代传统邮件方式在人与人之间进行信息传递的统治地位。邮件系统分为客户端与服务端,访问方式有使用邮件收发软件如OutLook Express、FoxMail等进行邮件收发的C-S方式和使用Web页面进行邮件收发的B-S方式。发送邮件原理一般是客户端通过Socket连结服务器的25端口,通过简单邮件传输协议SMTP(Simple Message Transfer Protocol)与服务器沟通并且发送邮件。接收邮件原理一般是客户端通过Socket连结服务器的110端口,通过邮局协议POP3(Post Office Protocol)与服务器沟通,向服务器通报身份后从服务器接收相应的邮件。现有的使用较多的邮件服务器有美国微软公司生产的ExchangeServer、美国Lotus公司生产的Lotus Notes。该类服务器都是通过C-S方式访问,有稳定、高效、安全、功能强大等特点;在服务器端邮件的存储方式都是采用文件方式,尽管在读些邮件时效率较高,但是为查找和检索都带来不便。然而在实施校园网等企业应用上也需要邮件服务器系统,如果采用Exchange Server服务系统或Lotus Notes服务系统采用文件形式存储邮件,将有许多的不利因素,也无很大的必要。首先是价格因素;再者是访问方式,因为校园网中一般是用Web页面收发邮件,并不需要直接用Socket连结服务器;还有就是系统的兼容性问题,邮件服务器要与管理平台共享数据;最后就是数据的透明度问题,很多邮件服务器的邮件存储格式是不公开的,这会对一些操作带来很多麻烦。以上都决定了需要开发一种独特的邮件服务器来满足以上需求。
技术实现思路
本专利技术针对在实施校园网等企业应用上利用现有的电子邮件收发系统存在的不利因素而提出在服务器端使用不同的表来存储不同状态的邮件,服务器端既提供标准的邮件收发服务(接收邮件采用POP3,发送邮件采用SMTP),也提供直接操作数据库的方式来收发邮件。一种,服务器采用数据库方式对邮件信息进行存储;客户端与服务器之间进行邮件收发时,邮件信息要经过邮件收发服务处理和模式转换,模式转换方法步骤如下利用各种服务组件对外提供启动和停止两个方法,启动方法内读取系统配置信息并启动各种对应服务实现类;各种服务实现类按照配置信息初始化后,进行各自对应的后续处理操作;利用NT服务程序,调用各种服务组件的启动或停止服务。上述数据库中存储有如下数据存储表数据表CC_MAIL_USER,用于保存用户的用户名、密码和邮箱尺寸信息;数据表CC_MAIL_DROPMAIL,用于存放没有经过分类处理的邮件;数据表CC_MAIL_MAILINFO,用于存放邮件添加上用户信息后对应各个用户的邮件;数据表CC_MAIL_ROUTEMAIL,用于存放等待转发服务进行向外转发的邮件;数据表CC_MAIL_BADMAIL,用于存放垃圾邮件,对收件人与用户名无法匹配或者向外转发失败的邮件将转存入此表,等待管理员来检索或者自动删除;数据表CC_MAIL_MAILLOG,用于存放服务器的操作日志。上述所述的服务组件包括简单邮件传输协议SMTP服务组件、邮局协议POP3服务组件、MailRoute服务组件、MailCheck服务组件、MailsDispatch服务组件和MailsClean服务组件,其中简单邮件传输协议SMTP服务组件、邮局协议POP3服务组件所对应的服务实现类在按照配置信息初始化后进行的后续处理操作是根据客户的连接情况生成多个任务处理类实例,每个任务处理类在各自的线程内完成与客户的交易;MailRoute服务组件按照配置信息初始化后进行的后续处理操作是开始定时连接路由服务器转发外部的邮件;MailCheck服务组件按照配置信息初始化后进行的后续处理操作是开始定时连接路由服务器接收由外部发来的邮件;MailsDispatch服务组件按照配置信息初始化后进行的后续处理操作是开始定时处理邮件的转发和分发业务;MailsClean服务组件按照配置信息初始化后进行的后续处理操作是开始定时处理垃圾邮件和日志。其中发送邮件的简单邮件传输协议SMTP的与客户交易过程是客户端首先进行登陆;系统判断是否允许客户端匿名登陆,如果允许则客户可以直接成功登陆;如果不允许则客户要进行注册、输入有效用户名和密码后才可以成功登陆;进行交易处理过程,主要是服务器和客户端之间进行分析指令和回复指令的交互式操作。其中接收邮件的邮局协议POP3的与客户交易过程是客户端首先进行登陆;有两种登陆方式可供选择基本身份验证方式和NTLM身份认证方式;进行交易处理过程,主要是服务器和客户端之间进行分析指令和回复指令的交互式操作。其中MailRoute向外部转发邮件的过程是系统生成待转发的邮件列表后连接邮件路由服务器;系统判断是否允许客户端匿名登陆,如果允许则客户可以直接成功登陆;如果不允许则客户要进行注册、输入有效用户名和密码后才可以成功登陆;系统发送邮件至路由服务器; 系统判断邮件是否发送成功,如果成功则在数据库存放待转发邮件的数据表中删除待转发的邮件;如果失败则将邮件转移到数据库中存放垃圾邮件的数据表中。其中MailCheck接收外部发来邮件的过程是系统查询并获得接收邮件人的信息后,系统连接邮件接收服务器;服务器进行登陆;服务器接收邮件并放入存放对应于各个用户的邮件数据表中。上述的客户端通过TCP/IP层访问邮件收发服务。一种,服务器采用数据库方式对邮件信息进行存储;客户端直接操作服务器中存储邮件信息的数据库进行邮件收发,需要进行邮件的合成与解析操作,合成邮件的方法为初始化邮件输入的各部分信息;综合邮件的各部分输入信息,生成邮件总文本并以成员变量的形式保存在内存中;发送邮件总文本;解析邮件的方法为首先对接收的邮件文本进行初始化操作;解析邮件文本,并把解析后的结果以成员变量的形式保存在内存中;取出需要的部分邮件解析信息。其中数据库中存储有如下数据存储表 数据表CC_MAIL_USER,用于保存用户的用户名、密码和邮箱尺寸信息;数据表CC_MAIL_DROPMAIL,用于存放没有经过分类处理的邮件;数据表CC_MAIL_MAILINFO,用于存放邮件添加上用户信息后对应各个用户的邮件;数据表CC_MAIL_ROUTEMAIL,用于存放等待转发服务进行向外转发的邮件;数据表CC_MAIL_BADMAIL,用于存放垃圾邮件,对收件人与用户名无法匹配或者向外转发失败的邮件将转存入此表,等待管理员来检索或者自动删除;数据表CC_MAIL_MAILLOG,用于存放服务器的操作日志。上述合成邮件的初始化过程分为两种根据发件人、收件人、主题、发件时间、邮件主体,来创建邮件文本BuildMail;根据发件人、收件人、主题、发件时间、邮件主体和附件所在目录路径,来创建邮件文本BuildMailWithAttach。上述解析邮件的初始化过程分为五种解析所有的邮件信息InitMailContent;解析邮件中除邮件附件和邮件主体中的图片以外的信息InitMailGeneralContent;解析邮件中的发件人、收件人、本文档来自技高网
...

【技术保护点】
一种基于数据库存储的邮件收发方法,其特征在于,服务器采用数据库方式对邮件信息进行存储;客户端与服务器之间进行邮件收发时,邮件信息要经过邮件收发服务处理和模式转换,模式转换方法步骤如下:利用各种服务组件对外提供启动和停止两个方法,启动 方法内读取系统配置信息并启动各种对应服务实现类;各种服务实现类按照配置信息初始化后,进行各自对应的后续处理操作;利用NT服务程序,调用各种服务组件的启动或停止服务。

【技术特征摘要】

【专利技术属性】
技术研发人员:霍起陈澍王海青
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利