处理邮件的方法和系统技术方案

技术编号:11413848 阅读:62 留言:0更新日期:2015-05-06 13:33
本发明专利技术提供一种处理邮件的方法和系统,能够对多个业务系统提供统一的邮件服务。该处理邮件的方法包括:接收邮件发送请求信息,该邮件发送请求信息中指定了邮件模板、收件地址、以及期望发送邮件的时间;根据所述期望发送邮件的时间生成邮件请求头信息并且放入邮件发送队列,并保存所述邮件发送请求信息的内容;轮询所述邮件发送队列并且在当前时间到达所述期望发送邮件的时间的情况下,根据所述邮件模板和所述邮件发送请求信息以及获取的业务数据生成邮件;将所述邮件发送给电子邮件服务器,以供该电子邮件服务器向所述收件地址发送所述邮件。

【技术实现步骤摘要】
处理邮件的方法和系统
本专利技术涉及计算机
,特别地涉及一种处理邮件的方法和系统。
技术介绍
在互联网相关的软件或系统中,经常需要在特定的场合进行邮件的推送,邮件管理系统俨然成为大多数互联网应用的基础。在一些应用中,邮件管理系统作为一个子模块为系统提供邮件发送和管理的支持,而另一些应用中,甚至不存在独立的邮件管理模块,只是在业务需要时,调用相关的邮件API进行邮件的推送。由于互联网生态本身的复杂性,其相应的邮件业务也丰富多样。目前,大多数应用各自维护一套邮件系统,只为自身业务进行定制的邮件推送及管理,邮件发送过程与业务本身具有非常高的耦合性,其通用性差,难以实现邮件管理模块在各不同应用中的共享和重用。各业务系统中的邮件虽然具有很强的定制性,但同时也具有高度的相似性。重复的开发功能相似的邮件业务造成大量的人力、物力的浪费,极大的增加了软件成本。同时,邮件推送逻辑大量分散在各业务系统中,给系统的维护造成很大的难度。在许多系统中,邮件并不是业务的核心,邮件推送逻辑的高度的耦合性往往造成核心业务由于邮件错误而失败。而且邮件的发送本身耗时长,同步的发送往往容易导致主业务流程的阻塞,异步的发送又难以确认邮件是否成功送达。随着网络应用生态的日益丰富多样,邮件本身也愈发呈现出其业务定制特性。现有的一种技术方案中,邮件的发送主要借助JavaMail提供的API或者以此为基础进行简化封装的第三方API(如CommonsEmail)等。其具体过程如下:1、配置邮件发送的相关属性,包括:是否需要身份认证(mail.smtp.auth)、邮件发送使用的协议(mail.transport.protocol-smtp);2、设置远端的邮件服务器信息,包括IP及端口信息;3、创建邮件会话session;4、根据session创建邮件消息MineMessage;5、设置主题和邮件正文,邮件正文必须根据要发送的内容进行不同设置;如果邮件中包含附件,则要创建多个MimeMultipart对象,承载待发送的附件;6、设置用以发送邮件的账号信息;7、创建发送邮件的Transport实例,建立连接(指定邮件服务器、端口、发送账号、密码);8、发送邮件(指定消息体,及地址列表);9、关闭会话连接。目前多数业务系统中在需要发送邮件时重复地执行以上步骤,或是对以上步骤的简单封装,不同的业务系统各自重复着相似的处理流程,其邮件发送过程繁琐、功能薄弱,而且难以进行统一的管理。
技术实现思路
有鉴于此,本专利技术提供一种处理邮件的方法和系统,能够对多个业务系统提供统一的邮件服务。本专利技术技术方案的其他有益效果将结合具体实施方式加以说明。为实现上述目的,根据本专利技术的一个方面,提供了一种处理邮件的方法。本专利技术的处理邮件的方法包括:接收邮件发送请求信息,该邮件发送请求信息中指定了邮件模板、收件地址、以及期望发送邮件的时间;根据所述期望发送邮件的时间生成邮件请求头信息并且放入邮件发送队列,并保存所述邮件发送请求信息的内容;对于邮件发送队列中的指定的邮件请求头信息,若当前未到达该邮件请求头信息中的期望发送邮件的时间,在队列中删除该邮件请求头信息,从而实现撤销相应的邮件;轮询所述邮件发送队列并且在当前时间到达所述期望发送邮件的时间的情况下,根据所述邮件模板和所述邮件发送请求信息以及获取的业务数据生成邮件;将所述邮件发送给电子邮件服务器,以供该电子邮件服务器向所述收件地址发送所述邮件。可选地,将所述邮件发送给电子邮件服务器的步骤之后,还包括:在接收到表示邮件发送失败的提示信息的情况下,设定邮件的再次发送时间,并根据该再次发送时间生成新的邮件请求头并且放入所述邮件发送队列。根据本专利技术的另一方面,提供了一种处理邮件的系统。本专利技术的处理邮件的系统包括:请求接收单元,用于接收邮件发送请求信息,该邮件发送请求信息中指定了邮件模板、收件地址、以及期望发送邮件的时间;队列处理单元,用于根据所述期望发送邮件的时间生成邮件请求头信息并且放入邮件发送队列;对于邮件发送队列中的指定的邮件请求头信息,若当前未到达该邮件请求头信息中的期望发送邮件的时间,在队列中删除该邮件请求头信息,从而实现撤销相应的邮件;持久化单元,用于将所述邮件发送请求信息的内容保存到持久化存储装置;任务管理单元,用于轮询所述邮件发送队列并且在当前时间到达所述期望发送邮件的时间的情况下,调用模板解析单元;模板解析单元,用于根据所述邮件模板和所述邮件发送请求信息以及获取的业务数据生成邮件;邮件发送单元,用于将所述邮件发送给电子邮件服务器,以供该电子邮件服务器向所述收件地址发送所述邮件。可选地,所述队列处理单元为多个;所述请求接收单元还用于以负载均衡的方式选择一个队列处理单元,然后将所述邮件发送请求信息转发给该队列处理单元。可选地,所述邮件发送单元还用于将所述电子邮件服务器返回的发送结果信息转发给所述任务管理单元;所述任务管理单元还用于在所述发送结果信息表示邮件发送失败的情况下,设定邮件的再次发送时间,并根据该再次发送时间生成新的邮件请求头并且放入所述邮件发送队列。根据本专利技术的技术方案,根据来自业务系统的邮件发送请求信息,对邮件按发送队列发送到电子邮件服务器,实现了对多个业务系统提供统一的邮件服务。在网络可用的前提下,该实现方式能够为各分散的业务提供集中的邮件请求处理服务,动态渲染邮件模板,异步进行邮件发送,保证高效、可靠的邮件发送,简化邮件发送业务的开发及管理。并可根据业务规模,进行横向扩展,保证系统能够高效可靠的提供邮件处理服务。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的处理邮件的系统的基本结构的示意图;图2是根据本专利技术实施例的处理邮件的方法的主要步骤的示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本实施例的技术方案中,提供一个邮件处理服务,该服务接受客户端的邮件处理请求,并生成邮件然后交由邮件服务器处理,以此来实现对多个业务系统提供统一的邮件服务。图1是根据本专利技术实施例的处理邮件的系统的基本结构的示意图。如图1所示,处理邮件的系统10作为服务而部署,主要包括请求接收单元11、队列处理单元12、持久化单元13、任务管理单元14、模板解析单元15、以及邮件发送单元16。图中还示出了客户端20及其中的客户端API(应用程序编程接口)单元21和查询单元22、邮件发送队列的缓存单元、持久化存储单元24、附件文件系统25以及邮件服务器26。以下结合图1和图2说明本专利技术实施例的处理邮件的方法的主要步骤。图2是根据本专利技术实施例的处理邮件的方法的主要步骤的示意图。步骤S201:应用系统(图中未示出)调用客户端API单元。在调用时传入一个MailRequest邮件请求对象,向客户端指明邮件模板、收件地址、以及期望发送邮件的时间等信息。步骤S202:客户端API单元校验邮件请求数据,若数据缺失或不合法,则进入步骤S203,返回一个提本文档来自技高网
...
处理邮件的方法和系统

【技术保护点】
一种处理邮件的方法,其特征在于,包括:接收邮件发送请求信息,该邮件发送请求信息中指定了邮件模板、收件地址、以及期望发送邮件的时间;根据所述期望发送邮件的时间生成邮件请求头信息并且放入邮件发送队列,并保存所述邮件发送请求信息的内容;轮询所述邮件发送队列并且在当前时间到达所述期望发送邮件的时间的情况下,根据所述邮件模板和所述邮件发送请求信息以及获取的业务数据生成邮件;将所述邮件发送给电子邮件服务器,以供该电子邮件服务器向所述收件地址发送所述邮件。

【技术特征摘要】
1.一种处理邮件的方法,其特征在于,包括:接收邮件发送请求信息,该邮件发送请求信息中指定了邮件模板、收件地址、以及期望发送邮件的时间;根据所述期望发送邮件的时间生成邮件请求头信息并且放入邮件发送队列,并保存所述邮件发送请求信息的内容;对于邮件发送队列中的指定的邮件请求头信息,若当前未到达该邮件请求头信息中的期望发送邮件的时间,在队列中删除该邮件请求头信息,从而实现撤销相应的邮件;轮询所述邮件发送队列并且在当前时间到达所述期望发送邮件的时间的情况下,根据所述邮件模板和所述邮件发送请求信息以及获取的业务数据生成邮件;将所述邮件发送给电子邮件服务器,以供该电子邮件服务器向所述收件地址发送所述邮件。2.根据权利要求1所述的方法,其特征在于,将所述邮件发送给电子邮件服务器的步骤之后,还包括:在接收到表示邮件发送失败的提示信息的情况下,设定邮件的再次发送时间,并根据该再次发送时间生成新的邮件请求头并且放入所述邮件发送队列。3.一种处理邮件的系统,其特征在于,包括:请求接收单元,用于接收邮件发送请求信息,该邮件发送请求信息中指定了邮件模板、收件地址、以及期望发送邮件的时间;队列处理单元,用于根据所述期望发送...

【专利技术属性】
技术研发人员:马刚王海
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1