700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 邮件发送方法 装置 设备及计算机可读存储介质与流程

邮件发送方法 装置 设备及计算机可读存储介质与流程

时间:2022-08-16 03:30:08

相关推荐

邮件发送方法 装置 设备及计算机可读存储介质与流程

本发明涉及金融科技(fintech)

技术领域:

:,尤其涉及一种邮件发送方法、装置、设备及计算机可读存储介质。

背景技术:

::随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。电子邮件(简称e-mail)是一种用电子手段提供信息交换的通信方式,是互联网应用最广的服务,具有简易、快速的特点。通过电子邮件的方式,可以实现各类信息的传送、接收、存贮等处理,将邮件送到世界的各个角落。因此,邮件已经成为人们日常工作和生活中一个重要的沟通方式。目前,应用程序在发送邮件的过程中,会先获取需发送的应用数据,然后将原始格式的应用数据转换成邮件客户端可接收的结构化数据,得到邮件内容,进而根据部署环境中邮件服务提供方的实际情况,将邮件投递信息和邮件内容以规定的格式通过规定的接口传输给邮件客户端。由于各邮件客户端可接收的数据格式不尽相同,在对应用数据进行格式转换时,虽然有较为通用的格式集中转换的工具,但考虑到一个应用程序真正使用到的数据类型极为有限,引入通用的工具反而使应用的逻辑更加复杂,因此目前一般还是由应用程序反复实现相应的逻辑,从而造成开发人力的浪费、开发效率也较低。技术实现要素:本发明的主要目的在于提供一种邮件发送方法、装置、设备及计算机可读存储介质,旨在解决现有的邮件发送功能开发过程中、开发效率较低的问题。为实现上述目的,本发明提供一种邮件发送方法,所述邮件发送方法包括:在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;基于所述邮件基本信息对所述邮件正文进行发送。可选地,所述在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息的步骤包括:在接收到邮件发送请求时,根据所述邮件发送请求获取作业编号id、用户名和邮件基本信息;根据所述作业id、所述用户名和预先配置的根目录生成结果集路径,并根据所述结果集路径获取邮件内容。可选地,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:若所述元数据信息中的数据类型为图片,则确定对应的目标内容解析器为图片内容解析器;通过所述图片内容解析器从所述元数据信息中获取图片格式,并将所述结果集的值还原成与所述图片格式对应的图片数据;调用预设构造函数对所述图片数据进行处理,得到处理对象;基于所述处理对象和预设图片标签格式,生成对应的图片标签,并将所述图片标签作为中间对象。可选地,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:若所述元数据信息中的数据类型为超文本标记语言html,则确定对应的目标内容解析器为html内容解析器;通过所述html内容解析器校验所述结果集的值是否符合预设邮件html规范;若符合,则从所述结果集的值中提取出正文体标签内的子html,并将所述子html作为中间对象。可选地,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:若所述元数据信息中的数据类型为表格,则确定对应的目标内容解析器为表格内容解析器;通过所述表格内容解析器读取所述元数据信息中的字段名称,基于所述字段名称生成对应的第一单元格标签,并将所述第一单元格标签嵌套在预设表头标签内;根据所述结果集的值获取表格行数及表格各行内部各列的值,生成与所述表格行数相同数量的行标签;根据所述表格各行内部各列的值生成对应的第二单元格标签,并将所述第二单元格标签嵌套在对应的行标签内;将嵌套后的预设表头标签内的文本与嵌套后的行标签内的文本进行合并,并嵌套至预设表格标签内,得到中间对象。可选地,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:若所述元数据信息中的数据类型为文件,则确定对应的目标内容解析器为文件内容解析器;通过所述文件内容解析器检测所述结果集的值为单行还是多行;若所述结果集的值为单行,则将所述结果集的值作为预设段落标签的内容,得到中间对象;若所述结果集的值为多行,则对所述结果集的值进行分行处理,基于分行处理结果、所述预设段落标签和预设换行标签,得到中间对象。可选地,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:若所述元数据信息中的数据类型为链接,则确定对应的目标内容解析器为链接内容解析器;通过所述链接内容解析器检测所述结果集的值为单行还是多行;若所述结果集的值为单行,则将所述结果集的值转换成第一超链接标签,并将所述邮件内容对应的结果集的文件名作为所述第一超链接标签的提示信息,得到中间对象;若所述结果集的值为多行,则对所述结果集的值进行分行处理,将分行后的结果集的值分别转换成对应的第二超链接标签;对所述第二超链接标签进行合并,并将所述邮件内容对应的结果集的文件名作为合并后的第二超链接标签的提示信息,得到中间对象。可选地,所述基于所述基本信息对所述邮件正文进行发送的步骤包括:获取当前环境可支持的邮件客户端类型,并根据所述当前环境可支持的邮件客户端类型和预设映射关系创建对应类型的邮件对象;将所述邮件正文和所述邮件基本信息填充至所述邮件对象中,并将填充后的邮件对象提交至预设邮件客户端进行发送。此外,为实现上述目的,本发明还提供一种邮件发送装置,所述邮件发送装置包括:获取模块,用于在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;解析模块,用于根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;合并模块,用于按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;发送模块,用于基于所述基本信息对所述邮件正文进行发送。此外,为实现上述目的,本发明还提供一种邮件发送设备,所述邮件发送设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的邮件发送程序,所述邮件发送程序被所述处理器执行时实现如上所述的邮件发送方法的步骤。此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有邮件发送程序,所述邮件发送程序被处理器执行时实现如上所述的邮件发送方法的步骤。本发明提供一种邮件发送方法、装置、设备及计算机可读存储介质,在接收到邮件发送请求时,可根据邮件发送请求获取邮件内容和邮件基本信息;然后,根据元数据信息中的数据类型确定对应的目标内容解析器,并通过目标内容解析器对结果集的值进行解析处理,得到中间对象;进而按解析顺序对中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文,基于邮件基本信息对邮件正文进行发送。本发明为了适配各种邮件客户端的数据格式,针对不同的数据类型定义了对应的标准解析处理方式,可统一将邮件内容的格式转换成一标准的中间格式,以得到邮件内容,进而进行发送,从而实现了数据格式的统一转换,无需应用程序反复实现相应的逻辑,因此,本发明可提高邮件发送功能开发过程中的开发效率。附图说明图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;图2为本发明邮件发送方法第一实施例的流程示意图;图3为本发明邮件发送装置第一实施例的功能模块示意图。本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。本发明实施例邮件发送设备可以是智能手机,也可以是pc(personalcomputer,个人计算机)、平板电脑、便携计算机等终端设备。如图1所示,该邮件发送设备可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的邮件发送设备结构并不构成对邮件发送设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及邮件发送程序。在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的邮件发送程序,并执行以下操作:在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;基于所述邮件基本信息对所述邮件正文进行发送。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:在接收到邮件发送请求时,根据所述邮件发送请求获取作业编号id、用户名和邮件基本信息;根据所述作业id、所述用户名和预先配置的根目录生成结果集路径,并根据所述结果集路径获取邮件内容。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:若所述元数据信息中的数据类型为图片,则确定对应的目标内容解析器为图片内容解析器;通过所述图片内容解析器从所述元数据信息中获取图片格式,并将所述结果集的值还原成与所述图片格式对应的图片数据;调用预设构造函数对所述图片数据进行处理,得到处理对象;基于所述处理对象和预设图片标签格式,生成对应的图片标签,并将所述图片标签作为中间对象。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:若所述元数据信息中的数据类型为超文本标记语言html,则确定对应的目标内容解析器为html内容解析器;通过所述html内容解析器校验所述结果集的值是否符合预设邮件html规范;若符合,则从所述结果集的值中提取出正文体标签内的子html,并将所述子html作为中间对象。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:若所述元数据信息中的数据类型为表格,则确定对应的目标内容解析器为表格内容解析器;通过所述表格内容解析器读取所述元数据信息中的字段名称,基于所述字段名称生成对应的第一单元格标签,并将所述第一单元格标签嵌套在预设表头标签内;根据所述结果集的值获取表格行数及表格各行内部各列的值,生成与所述表格行数相同数量的行标签;根据所述表格各行内部各列的值生成对应的第二单元格标签,并将所述第二单元格标签嵌套在对应的行标签内;将嵌套后的预设表头标签内的文本与嵌套后的行标签内的文本进行合并,并嵌套至预设表格标签内,得到中间对象。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:若所述元数据信息中的数据类型为文件,则确定对应的目标内容解析器为文件内容解析器;通过所述文件内容解析器检测所述结果集的值为单行还是多行;若所述结果集的值为单行,则将所述结果集的值作为预设段落标签的内容,得到中间对象;若所述结果集的值为多行,则对所述结果集的值进行分行处理,基于分行处理结果、所述预设段落标签和预设换行标签,得到中间对象。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:若所述元数据信息中的数据类型为链接,则确定对应的目标内容解析器为链接内容解析器;通过所述链接内容解析器检测所述结果集的值为单行还是多行;若所述结果集的值为单行,则将所述结果集的值转换成第一超链接标签,并将所述邮件内容对应的结果集的文件名作为所述第一超链接标签的提示信息,得到中间对象;若所述结果集的值为多行,则对所述结果集的值进行分行处理,将分行后的结果集的值分别转换成对应的第二超链接标签;对所述第二超链接标签进行合并,并将所述邮件内容对应的结果集的文件名作为合并后的第二超链接标签的提示信息,得到中间对象。进一步地,处理器1001可以调用存储器1005中存储的邮件发送程序,还执行以下操作:获取当前环境可支持的邮件客户端类型,并根据所述当前环境可支持的邮件客户端类型和预设映射关系创建对应类型的邮件对象;将所述邮件正文和所述邮件基本信息填充至所述邮件对象中,并将填充后的邮件对象提交至预设邮件客户端进行发送。基于上述硬件结构,提出本发明邮件发送方法的各实施例。本发明提供一种邮件发送方法。参照图2,图2为本发明邮件发送方法第一实施例的流程示意图。在本实施例中,该邮件发送方法包括:步骤s10,在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;本实施例的邮件发送方法是由邮件发送设备实现的,该设备中搭载有邮件发送器和各种类型的内容解析器。在本实施例中,是将邮件发送作为一个节点置于工作流中,使得在一系列逻辑中、能够简单灵活的定义在某些步骤之后进行邮件的发送,无需针对具体情况做相应的特定实现。具体的,工作流中的预设节点在执行完任务后,可触发对应的邮件发送请求,此时,邮件发送器在接收到邮件发送请求时,可根据邮件发送请求获取邮件内容和邮件基本信息,其中,邮件内容包括元数据信息和结果集的值,元数据信息包括数据类型(如图片、表格、文本、链接等)和数据基本信息(如大小、字段名称、字段类型等)。具体的,步骤s10包括:步骤a1,在接收到邮件发送请求时,根据所述邮件发送请求获取作业编号id、用户名和邮件基本信息;步骤a2,根据所述作业id、所述用户名和预先配置的根目录生成结果集路径,并根据所述结果集路径获取邮件内容。在接收到邮件发送请求时,通过邮件发送器根据邮件发送请求获取作业id(identitydocument,编号)、用户名和邮件基本信息,其中,作业id即为工作流上邮件发送器所在节点的前置节点的作业id,同时也是触发该邮件发送请求的节点的作业id,邮件基本信息包括但不限于发件人、收件人、邮件标题等。然后,根据作业id、用户名和预先配置的根目录生成结果集路径,其中,结果路路径的生成方式可以预设格式进行生成,其中预设格式可以为{预先配置的根目录+用户名+作业id},在得到结果集路径后,根据结果集路径获取邮件内容。其中,邮件内容即为根据结果集路径获取到的结果集,为前置节点的执行结果。通过上述方式,可以将工作流中的前置节点作为邮件内容进行发送,并通过工作流的上下文共享机制,以统一的方式来获取节点的执行结果作为邮件内容。步骤s20,根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;然后,根据元数据信息中的数据类型确定对应的目标内容解析器,并通过目标内容解析器对结果集的值进行解析处理,得到中间对象。其中,数据类型包括但不限于图片、html(hypertextmarkuplanguage,超级文本标记语言)、表格、文件和链接,不同的数据类型对应有不同的解析处理过程,具体的解析处理过程可参照下述第二实施例,此处不作赘述。通过针对不同的数据类型定义对应的标准解析处理方式,可统一将邮件内容的格式转换成一标准的中间格式,从而无需应用反复实现相应逻辑,可避免开发人力的浪费,提高邮件发送功能的开发效率。步骤s30,按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;在得到中间对象之后,按解析顺序对中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文。在合并时,只是简单地按照解析顺序将中间对象合并为一个完整的html结构(即简单的string+string),预设结构,可选地为<html><body></body></html>,可将合并后的中间对象插入预设结构的<body>和</body>之间,以得到一完整结构,作为最终的邮件正文。步骤s40,基于所述邮件基本信息对所述邮件正文进行发送。在得到邮件正文之后,基于邮件基本信息对邮件正文进行发送。具体的,步骤s40包括:步骤b1,获取当前环境可支持的邮件客户端类型,并根据所述当前环境可支持的邮件客户端类型和预设映射关系创建对应类型的邮件对象;步骤b2,将所述邮件正文和所述邮件基本信息填充至所述邮件对象中,并将填充后的邮件对象提交至预设邮件客户端进行发送。在得到邮件正文之后,获取当前环境可支持的邮件客户端类型,并根据当前环境可支持的邮件客户端类型和预设映射关系创建对应类型的邮件对象,其中,预设映射关系包括邮件客户端类型与邮件对象类型之间的映射关系,例如,邮件客户端类型为springjavamail(即指通过spring提供的javamailsender接口实现邮件发送)时,可创建mime(multipurposeinternetmailextensions,多用途互联网邮件扩展)对象;邮件客户端类型为http邮件客户端(即指基于http协议实现邮件发送的邮件客户端)时,可创建json(javascriptobjectnotation,js对象简谱,轻量级的数据交换格式)对象。然后,将邮件正文和邮件基本信息填充至邮件对象中,并将填充后的邮件对象提交至预设邮件客户端进行发送。当然,可以理解,预设映射关系中可提供多种常见邮件客户端的支持,同时可留有对应的扩展空间给其他客户端,以实现可支持邮件客户端扩展的灵活性。通过上述方式,可实现多种客户端接口的适配。本发明实施例提供一种邮件发送方法,在接收到邮件发送请求时,可根据邮件发送请求获取邮件内容和邮件基本信息;然后,根据元数据信息中的数据类型确定对应的目标内容解析器,并通过目标内容解析器对结果集的值进行解析处理,得到中间对象;进而按解析顺序对中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文,基于邮件基本信息对邮件正文进行发送。本发明实施例为了适配各种邮件客户端的数据格式,针对不同的数据类型定义了对应的标准解析处理方式,可统一将邮件内容的格式转换成一标准的中间格式,以得到邮件内容,进而进行发送,通过上述方式,可实现数据格式的统一转换,无需应用程序反复实现相应的逻辑,因此,可提高邮件发送功能开发过程中的开发效率,节省人力。进一步的,基于上述第一实施例,提出本发明邮件发送方法的第二实施例。在本实施例中,步骤s20可以包括:步骤c11,若所述元数据信息中的数据类型为图片,则确定对应的目标内容解析器为图片内容解析器;步骤c12,通过所述图片内容解析器从所述元数据信息中获取图片格式,并将所述结果集的值还原成与所述图片格式对应的图片数据;步骤c13,调用预设构造函数对所述图片数据进行处理,得到处理对象;步骤c14,基于所述处理对象和预设图片标签格式,生成对应的图片标签,并将所述图片标签作为中间对象。本实施例中介绍了图片类数据的处理过程。具体过程如下:若元数据信息中的数据类型为图片,则确定对应的目标内容解析器为图片内容解析器;然后,通过图片内容解析器从元数据信息中获取图片格式(如png、jpg等),并将结果集的值还原成与图片格式对应的图片数据;进而调用预设构造函数对图片数据进行处理,得到处理对象,其中,预设构造函数可选为bufferedimage构造函数,通过调用bufferedimage构造函数,可实现对图片数据的缩放处理、灰度处理等。最后,基于处理对象和预设图片标签格式,生成对应的图片标签,并将图片标签作为中间对象。其中,预设图片格式标签为<img>标签,最终生成的图片标签的格式可以为:<imgsrc=’data:image/jpeg;base64,{图片的base64编码}’></img>。进一步地,步骤s20还可以包括:步骤c21,若所述元数据信息中的数据类型为超文本标记语言html,则确定对应的目标内容解析器为html内容解析器;步骤c22,通过所述html内容解析器校验所述结果集的值是否符合预设邮件html规范;步骤c23,若符合,则从所述结果集的值中提取出正文体标签内的子html,并将所述子html作为中间对象。本实施例中介绍了html类数据的处理过程。具体过程如下:若元数据信息中的数据类型为html(hypertextmarkuplanguage,超文本标记语言),则确定对应的目标内容解析器为html内容解析器;然后,通过html内容解析器校验结果集的值是否符合预设邮件html规范,其中,预设邮件html规范可以包括但不限于:具有完整的<html><body></body></html>结构,标签均有闭合,使用的是html支持的标签,没有嵌套使用javascript脚本等。若符合预设邮件html规范,则从结果集的值中提取出正文体标签内的子html,并将子html作为中间对象。其中,正文体标签为<body>标签。进一步地,步骤s20还可以包括:步骤c31,若所述元数据信息中的数据类型为表格,则确定对应的目标内容解析器为表格内容解析器;步骤c32,通过所述表格内容解析器读取所述元数据信息中的字段名称,基于所述字段名称生成对应的第一单元格标签,并将所述第一单元格标签嵌套在预设表头标签内;步骤c33,根据所述结果集的值获取表格行数及表格各行内部各列的值,生成与所述表格行数相同数量的行标签;步骤c34,根据所述表格各行内部各列的值生成对应的第二单元格标签,并将所述第二单元格标签嵌套在对应的行标签内;步骤c35,将嵌套后的预设表头标签内的文本与嵌套后的行标签内的文本进行合并,并嵌套至预设表格标签内,得到中间对象。本实施例中介绍了表格类数据的处理过程。具体过程如下:若元数据信息中的数据类型为表格,则确定对应的目标内容解析器为表格内容解析器;然后,通过表格内容解析器读取元数据信息中的字段名称,基于字段名称生成对应的第一单元格标签,并将第一单元格标签嵌套在预设表头标签内。其中,第一单元格表格是基于字段名称和预设单元格标签(为<td>标签)生成的,预设表头标签为<th>标签,例如针对下表1中的表格,其字段名称包括name和score,可生成对应的第一单元格标签为<td>name</td>和<td>score</td>,将第一单元格标签嵌套在预设表头标签内之后,可得到如下结果:然后,根据结果集的值获取表格行数及表格各行内部各列的值,生成与表格行数相同数量的行标签,其中,行标签为<tr>标签;进而根据表格各行内部各列的值生成对应的第二单元格标签,并将第二单元格标签嵌套在对应的行标签内;最后,将嵌套后的预设表头标签内的文本与嵌套后的行标签内的文本进行合并,并嵌套至预设表格标签内,得到中间对象,其中,预设表格表内为<table>标签。例如上述例中,可得到中间对象如下:表1表格结果集namescorexiaoming90xiaowang80进一步地,步骤s20还可以包括:步骤c41,若所述元数据信息中的数据类型为文件,则确定对应的目标内容解析器为文件内容解析器;步骤c42,通过所述文件内容解析器检测所述结果集的值为单行还是多行;步骤c43,若所述结果集的值为单行,则将所述结果集的值作为预设段落标签的内容,得到中间对象;步骤c44,若所述结果集的值为多行,则对所述结果集的值进行分行处理,基于分行处理结果、所述预设段落标签和预设换行标签,得到中间对象。本实施例中介绍了文件类数据的处理过程。具体过程如下:若元数据信息中的数据类型为文件,则确定对应的目标内容解析器为文件内容解析器;然后,通过文件内容解析器检测结果集的值为单行还是多行;若结果集的值为单行,则将结果集的值直接作为预设段落标签的内容,得到中间对象,其中,预设段落标签可以为<p>标签;若结果集的值为多行,则对结果集的值进行分行处理,进而基于分行处理结果、预设段落标签和预设换行标签,得到中间对象。具体的,在进行分行处理时,可根据换行符(\n)对结果集的值进行分割,可分割得到多行文本,各行文本内容分别作为一预设段落标签的内容,得到多个段落标签,进而以预设换行标签(<br>标签)为间隔符对上述处理得到的多个段落标签进行合并,即可得到对应的中间对象。进一步地,步骤s20还可以包括:步骤c51,若所述元数据信息中的数据类型为链接,则确定对应的目标内容解析器为链接内容解析器;步骤c52,通过所述链接内容解析器检测所述结果集的值为单行还是多行;步骤c53,若所述结果集的值为单行,则将所述结果集的值转换成第一超链接标签,并将所述邮件内容对应的结果集的文件名作为所述第一超链接标签的提示信息,得到中间对象;步骤c54,若所述结果集的值为多行,则对所述结果集的值进行分行处理,将分行后的结果集的值分别转换成对应的第二超链接标签;步骤c55,对所述第二超链接标签进行合并,并将所述邮件内容对应的结果集的文件名作为合并后的第二超链接标签的提示信息,得到中间对象。本实施例中介绍了链接类数据的处理过程。具体过程如下:若元数据信息中的数据类型为链接(url链接),则确定对应的目标内容解析器为链接内容解析器;然后,通过链接内容解析器检测结果集的值为单行还是多行。若结果集的值为单行,则将结果集的值转换成第一超链接标签,并将邮件内容对应的结果集的文件名作为第一超链接标签的提示信息,得到中间对象。其中,第一超链接标签的生成过程为:根据将结果集的值直接作为预设超链接标签的href(hypertextreference,超文本引用)属性,其中,预设超链接标签可以为<a>标签。若结果集的值为多行,则对结果集的值进行分行处理,将分行后的结果集的值分别转换成对应的第二超链接标签,具体的,在进行分行处理时,可根据换行符(\n)对结果集的值进行分割,可分割得到多行文本,将各行文本内容分别作为一预设超链接标签的href属性,得到多个超链接标签。然后,对第二超链接标签进行合并,并将邮件内容对应的结果集的文件名作为合并后的第二超链接标签的提示信息,得到中间对象。本发明还提供一种邮件发送装置。参照图3,图3为本发明邮件发送装置第一实施例的功能模块示意图。如图3所示,所述邮件发送装置包括:获取模块10,用于在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;解析模块20,用于根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;合并模块30,用于按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;发送模块40,用于基于所述基本信息对所述邮件正文进行发送。进一步地,所述获取模块10包括:第一获取单元,用于在接收到邮件发送请求时,根据所述邮件发送请求获取作业编号id、用户名和邮件基本信息;第二获取单元,用于根据所述作业id、所述用户名和预先配置的根目录生成结果集路径,并根据所述结果集路径获取邮件内容。进一步地,所述解析模块20包括第一解析单元,用于:若所述元数据信息中的数据类型为图片,则确定对应的目标内容解析器为图片内容解析器;通过所述图片内容解析器从所述元数据信息中获取图片格式,并将所述结果集的值还原成与所述图片格式对应的图片数据;调用预设构造函数对所述图片数据进行处理,得到处理对象;基于所述处理对象和预设图片标签格式,生成对应的图片标签,并将所述图片标签作为中间对象。进一步地,所述解析模块20包括第二解析单元,用于:若所述元数据信息中的数据类型为超文本标记语言html,则确定对应的目标内容解析器为html内容解析器;通过所述html内容解析器校验所述结果集的值是否符合预设邮件html规范;若符合,则从所述结果集的值中提取出正文体标签内的子html,并将所述子html作为中间对象。进一步地,所述解析模块20包括第三解析单元,用于:若所述元数据信息中的数据类型为表格,则确定对应的目标内容解析器为表格内容解析器;通过所述表格内容解析器读取所述元数据信息中的字段名称,基于所述字段名称生成对应的第一单元格标签,并将所述第一单元格标签嵌套在预设表头标签内;根据所述结果集的值获取表格行数及表格各行内部各列的值,生成与所述表格行数相同数量的行标签;根据所述表格各行内部各列的值生成对应的第二单元格标签,并将所述第二单元格标签嵌套在对应的行标签内;将嵌套后的预设表头标签内的文本与嵌套后的行标签内的文本进行合并,并嵌套至预设表格标签内,得到中间对象。进一步地,所述解析模块20包括第四解析单元,用于:若所述元数据信息中的数据类型为文件,则确定对应的目标内容解析器为文件内容解析器;通过所述文件内容解析器检测所述结果集的值为单行还是多行;若所述结果集的值为单行,则将所述结果集的值作为预设段落标签的内容,得到中间对象;若所述结果集的值为多行,则对所述结果集的值进行分行处理,基于分行处理结果、所述预设段落标签和预设换行标签,得到中间对象。进一步地,所述解析模块20包括第五解析单元,用于:若所述元数据信息中的数据类型为链接,则确定对应的目标内容解析器为链接内容解析器;通过所述链接内容解析器检测所述结果集的值为单行还是多行;若所述结果集的值为单行,则将所述结果集的值转换成第一超链接标签,并将所述邮件内容对应的结果集的文件名作为所述第一超链接标签的提示信息,得到中间对象;若所述结果集的值为多行,则对所述结果集的值进行分行处理,将分行后的结果集的值分别转换成对应的第二超链接标签;对所述第二超链接标签进行合并,并将所述邮件内容对应的结果集的文件名作为合并后的第二超链接标签的提示信息,得到中间对象。进一步地,所述发送模块40包括:创建单元,用于获取当前环境可支持的邮件客户端类型,并根据所述当前环境可支持的邮件客户端类型和预设映射关系创建对应类型的邮件对象;发送单元,用于将所述邮件正文和所述邮件基本信息填充至所述邮件对象中,并将填充后的邮件对象提交至预设邮件客户端进行发送。其中,上述邮件发送装置中各个模块的功能实现与上述邮件发送方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有邮件发送程序,所述邮件发送程序被处理器执行时实现如以上任一项实施例所述的邮件发送方法的步骤。本发明计算机可读存储介质的具体实施例与上述邮件发送方法各实施例基本相同,在此不作赘述。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的

技术领域:

:,均同理包括在本发明的专利保护范围内。当前第1页1 2 3 当前第1页1 2 3 

技术特征:

1.一种邮件发送方法,其特征在于,所述邮件发送方法包括:

在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;

根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;

按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;

基于所述邮件基本信息对所述邮件正文进行发送。

2.如权利要求1所述的邮件发送方法,其特征在于,所述在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息的步骤包括:

在接收到邮件发送请求时,根据所述邮件发送请求获取作业编号id、用户名和邮件基本信息;

根据所述作业id、所述用户名和预先配置的根目录生成结果集路径,并根据所述结果集路径获取邮件内容。

3.如权利要求1所述的邮件发送方法,其特征在于,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:

若所述元数据信息中的数据类型为图片,则确定对应的目标内容解析器为图片内容解析器;

通过所述图片内容解析器从所述元数据信息中获取图片格式,并将所述结果集的值还原成与所述图片格式对应的图片数据;

调用预设构造函数对所述图片数据进行处理,得到处理对象;

基于所述处理对象和预设图片标签格式,生成对应的图片标签,并将所述图片标签作为中间对象。

4.如权利要求1所述的邮件发送方法,其特征在于,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:

若所述元数据信息中的数据类型为超文本标记语言html,则确定对应的目标内容解析器为html内容解析器;

通过所述html内容解析器校验所述结果集的值是否符合预设邮件html规范;

若符合,则从所述结果集的值中提取出正文体标签内的子html,并将所述子html作为中间对象。

5.如权利要求1所述的邮件发送方法,其特征在于,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:

若所述元数据信息中的数据类型为表格,则确定对应的目标内容解析器为表格内容解析器;

通过所述表格内容解析器读取所述元数据信息中的字段名称,基于所述字段名称生成对应的第一单元格标签,并将所述第一单元格标签嵌套在预设表头标签内;

根据所述结果集的值获取表格行数及表格各行内部各列的值,生成与所述表格行数相同数量的行标签;

根据所述表格各行内部各列的值生成对应的第二单元格标签,并将所述第二单元格标签嵌套在对应的行标签内;

将嵌套后的预设表头标签内的文本与嵌套后的行标签内的文本进行合并,并嵌套至预设表格标签内,得到中间对象。

6.如权利要求1所述的邮件发送方法,其特征在于,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:

若所述元数据信息中的数据类型为文件,则确定对应的目标内容解析器为文件内容解析器;

通过所述文件内容解析器检测所述结果集的值为单行还是多行;

若所述结果集的值为单行,则将所述结果集的值作为预设段落标签的内容,得到中间对象;

若所述结果集的值为多行,则对所述结果集的值进行分行处理,基于分行处理结果、所述预设段落标签和预设换行标签,得到中间对象。

7.如权利要求1所述的邮件发送方法,其特征在于,所述根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象的步骤包括:

若所述元数据信息中的数据类型为链接,则确定对应的目标内容解析器为链接内容解析器;

通过所述链接内容解析器检测所述结果集的值为单行还是多行;

若所述结果集的值为单行,则将所述结果集的值转换成第一超链接标签,并将所述邮件内容对应的结果集的文件名作为所述第一超链接标签的提示信息,得到中间对象;

若所述结果集的值为多行,则对所述结果集的值进行分行处理,将分行后的结果集的值分别转换成对应的第二超链接标签;

对所述第二超链接标签进行合并,并将所述邮件内容对应的结果集的文件名作为合并后的第二超链接标签的提示信息,得到中间对象。

8.如权利要求1至7中任一项所述的邮件发送方法,其特征在于,所述基于所述基本信息对所述邮件正文进行发送的步骤包括:

获取当前环境可支持的邮件客户端类型,并根据所述当前环境可支持的邮件客户端类型和预设映射关系创建对应类型的邮件对象;

将所述邮件正文和所述邮件基本信息填充至所述邮件对象中,并将填充后的邮件对象提交至预设邮件客户端进行发送。

9.一种邮件发送装置,其特征在于,所述邮件发送装置包括:

获取模块,用于在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;

解析模块,用于根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;

合并模块,用于按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;

发送模块,用于基于所述基本信息对所述邮件正文进行发送。

10.一种邮件发送设备,其特征在于,所述邮件发送设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的邮件发送程序,所述邮件发送程序被所述处理器执行时实现如权利要求1至8中任一项所述的邮件发送方法的步骤。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有邮件发送程序,所述邮件发送程序被处理器执行时实现如权利要求1至8中任一项所述的邮件发送方法的步骤。

技术总结

本发明涉及金融科技技术领域,公开了一种邮件发送方法、装置、设备及计算机可读存储介质。该邮件发送方法包括:在接收到邮件发送请求时,根据所述邮件发送请求获取邮件内容和邮件基本信息,所述邮件内容包括元数据信息和结果集的值;根据所述元数据信息中的数据类型确定对应的目标内容解析器,并通过所述目标内容解析器对所述结果集的值进行解析处理,得到中间对象;按解析顺序对所述中间对象进行合并,并将合并后的中间对象插入预设结构中,得到邮件正文;基于所述邮件基本信息对所述邮件正文进行发送。本发明能够解决现有的邮件发送功能开发过程中、开发效率较低的问题。

技术研发人员:黄山;尹强;王和平;刘有;杨峙岳;冯朝阁;邸帅;卢道和

受保护的技术使用者:深圳前海微众银行股份有限公司

技术研发日:.11.12

技术公布日:.02.28

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。