CN109309612A - 邮件内容生成方法及装置、存储介质和电子设备 - Google Patents

邮件内容生成方法及装置、存储介质和电子设备 Download PDF

Info

Publication number
CN109309612A
CN109309612A CN201710625168.5A CN201710625168A CN109309612A CN 109309612 A CN109309612 A CN 109309612A CN 201710625168 A CN201710625168 A CN 201710625168A CN 109309612 A CN109309612 A CN 109309612A
Authority
CN
China
Prior art keywords
mail
mail contents
target pages
picture
generation method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710625168.5A
Other languages
English (en)
Other versions
CN109309612B (zh
Inventor
杨再举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201710625168.5A priority Critical patent/CN109309612B/zh
Publication of CN109309612A publication Critical patent/CN109309612A/zh
Application granted granted Critical
Publication of CN109309612B publication Critical patent/CN109309612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Abstract

本发明公开了一种邮件内容生成方法及装置、存储介质和电子设备,涉及数据处理技术领域。该邮件内容生成方法包括:基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含邮件内容的目标页面;抓取目标页面;对目标页面进行截图,以获取目标页面中的图表部分的图片;以及将图片嵌入到邮件中。本公开可以实现在邮件内容中显示图表。

Description

邮件内容生成方法及装置、存储介质和电子设备
技术领域
本公开涉及数据处理技术领域,具体而言,涉及一种邮件内容生成方法、邮件内容生成装置、存储介质和电子设备。
背景技术
随着信息化社会的发展,市面上已涌现出各式各样的即时通讯工具,方便人们进行信息传递。然而,相比于即时通讯工具,电子邮件所呈现的内容更加规范且丰富。尤其在企业的项目运作中,当需要共享各种资料(例如,策划案、项目资料、各种数据图表等)时,电子邮件凭借其通用、可靠、正式、非即时等特性仍扮演着极其重要的角色。
目前,电子邮件往往包含多种信息元素(例如,文字、表格等)。然而,考虑到安全性,几乎所有的邮件客户端都禁止采用动态脚本,这就意味着在邮件中不能通过直接执行动态脚本来生成图表。在这种情况下,一些技术通常采用在邮件中提供图表的外部链接的方式来查看图表,也就是说,邮件接收者可以通过点击外部链接以跳转到专门的网站页面的方式查看图表,显然,这种查看图表的方式不直观且需要接收者的进一步的点击操作,并且此时还要考虑外部链接的安全性及访问权限的问题。
此外,电子邮件一般通过人工整理并在指定接收人后发出。而在人工整理时,针对一些复杂的数据表格和图表,整理邮件的人员不得不仔细地建立表格或进行复制粘贴等操作,一旦存在小的失误就可能影响整封邮件的质量,导致不能有效地传递信息。
鉴于此,需要一种邮件内容生成方法、邮件内容生成装置、存储介质和电子设备。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种邮件内容生成方法、邮件内容生成装置、存储介质和电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本公开的一个方面,提供一种邮件内容生成方法,包括:
基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含邮件内容的目标页面;
抓取目标页面;
对目标页面进行截图,以获取目标页面中的图表部分的图片;以及
将图片嵌入到邮件中。
在本公开的一种示例性实施例中,目标页面还包括文字部分和/或表格部分;其中,将图片嵌入到邮件中包括:
将图片嵌入到包含文字部分和/或表格部分的邮件模板中。
在本公开的一种示例性实施例中,浏览器内核为无界面的浏览器内核。
在本公开的一种示例性实施例中,邮件内容生成方法还包括:
抓取目标页面一预设时间后对目标页面进行截图。
在本公开的一种示例性实施例中,邮件内容生成方法还包括:
将目标页面切割为多个图片,并且在将图片嵌入到邮件时,对所述多个图片进行组装。
在本公开的一种示例性实施例中,邮件内容生成方法还包括:
在将图片嵌入到邮件之前,对图片进行压缩。
在本公开的一种示例性实施例中,抓取目标页面包括:
采用本机地址结合本地web端口的方式抓取目标页面。
在本公开的一种示例性实施例中,邮件内容生成方法还包括:
对邮件进行定时发送控制。
根据本公开的一个方面,提供一种邮件内容生成装置,包括:
页面生成模块,用于基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含邮件内容的目标页面;
页面抓取模块,用于抓取目标页面;
页面截图模块,用于对目标页面进行截图,以获取目标页面中的图表部分的图片;以及
图片嵌入模块,用于将图片嵌入到邮件中。
在本公开的一种示例性实施例中,目标页面还包括文字部分和/或表格部分;其中,将图片嵌入到邮件中包括:
将图片嵌入到包含文字部分和/或表格部分的邮件模板中。
在本公开的一种示例性实施例中,浏览器内核为无界面的浏览器内核。
在本公开的一种示例性实施例中,页面截图模块包括:
截图控制单元,用于抓取目标页面一预设时间后对目标页面进行截图。
在本公开的一种示例性实施例中,邮件内容生成装置还包括:
页面切割模块,用于将目标网页切割为多个图片,并且在将图片嵌入到邮件时,对所述多个图片进行组装。
在本公开的一种示例性实施例中,邮件内容生成装置还包括:
截图压缩模块,用于在将图片嵌入到邮件之前,对图片进行压缩。
在本公开的一种示例性实施例中,抓取目标页面包括:
采用本机地址结合本地web端口的方式抓取目标页面。
在本公开的一种示例性实施例中,邮件内容生成装置还包括:
发送控制模块,用于对邮件进行定时发送控制。
根据本公开的一个方面,提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的邮件内容生成方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储处理器的可执行指令;
其中,处理器配置为经由执行可执行指令来执行上述任意一项的邮件内容生成方法。
在本公开的一些实施例所提供的技术方案中,服务器通过其集成的浏览器内核对邮件内容的原始数据进行处理以生成目标页面,抓取目标页面,对目标页面进行截图以获取目标页面中的图表部分的图片,并将该图片嵌入邮件中,一方面,在邮件内容中可以显示图表,解决了现有技术因在邮件中无法执行动态脚本而不能展示图表的问题;另一方面,由于不需要外部链接,邮件内容的安全性得到了提高,并且由于不需要外部链接页面与邮件之间的切换操作,阅读邮件的便利性得到了提高;再一方面,由于图表是以图片形式嵌入邮件的,因此,避免了编辑邮件的人员对图表进行整理的操作,可以在避免操作失误的同时节省了时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了一些技术的邮件定时发送方法的流程图;
图2示意性示出了根据本公开的示例性实施方式的邮件内容生成方法的流程图;
图3示出了根据本公开的示例性实施方式的目标页面的示意图;
图4示意性示出了根据本公开的示例性实施方式的发送邮件的整个过程的流程图;
图5示意性示出了根据本公开的示例性实施方式的邮件内容生成装置的方框图;
图6示意性示出了根据本公开的示例性实施方式的页面截图模块的方框图;
图7示意性示出了根据本公开的示例性实施方式的邮件内容生成装置的另一方框图;
图8示意性示出了根据本公开的示例性实施方式的邮件内容生成装置的又一方框图;
图9示意性示出了根据本公开的示例性实施方式的邮件内容生成装置的再一方框图;
图10示出了根据本公开的示例性实施方式的存储介质的示意图;以及
图11示意性示出了根据本公开的示例性实施方式的电子设备的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解的是,邮件内容的载体是网页,而网页的呈现方式又可以被分为静态网页和动态网页,其中,静态网页主要包含文字和表格,动态网页主要包含文字、表格以及JS脚本动态生成的图表。
针对现有技术的邮件发送过程,首先,需要配置发送邮件的工具包,该工具包至少应包含邮件处理的基本功能,例如,收发邮件、指定接收人和抄送人、设置邮件标题以及指定渲染邮件内容的模板等。就Java技术实现邮件的方案而言,通常可以采用SpringMail框架。其中,SpringMail是一个实现了JavaMail接口规范的框架,而JavaMail是提供给开发人员处理电子邮件的相关编程接口。通过集成SpringMail,可以拥有基础的收发功能。
接下来,针对渲染邮件内容的模板,通常可以采用Velocity作为模板引擎。另外,在模板中,可以采用CSS(Cascading Style Sheets,层叠样式表)工具对文字或表格进行排版配色。然而,CSS属于页面的静态组成部分。目前,基于安全性的考虑,现有技术的邮件内容中通常仅能呈现文字和表格,即,在模板中无法存在JS脚本动态生成的图表。在这种情况下,通常在邮件中提供该图表的外部链接,接收邮件的人员可以通过点击该外部链接查看图表。
此外,还可以通过定时任务工具(例如,Quartz)来实现邮件的定时发送控制,例如,可以通过该工具控制邮件每天早上8点发出。
图1示意性示出了一些技术的邮件发送方法,参考图1,在步骤S100中,可以通过定时任务工具执行邮件定时发送任务;在步骤S102中,服务器可以对邮件内容是否生成进行判断,并且在判断出邮件内容未生成时返回步骤S100,在判断出邮件内容已生成时,跳转至步骤S104;在步骤S104中,可以通过Velocity对已生成的文字、表格以及图表的外部链接地址进行整合;在步骤S106中,可以由SpringMail指定渲染模板以进行邮件渲染操作,并且执行邮件发送的操作。
从上述描述中可以看出,现有技术中,一方面,邮件中无法直接显示出图表,导致一些情况下接收邮件的人员不能直观了解邮件内容;另一方面,接收邮件的人员需要点击外部链接才能查看图表,增加了接收邮件人员的手动操作步骤,同时,不可避免的造成邮件与外部链接页面之间的切换,用户体验差;再一方面,由于外部链接可以存在安全性和权限控制等问题,因此,无法保证邮件的安全性。
鉴于此,本发明提供了一种新的邮件内容生成方法。
图2示意性示出了本公开的示例性实施方式的邮件内容生成方法的流程图。参考图2,邮件内容生成方法可以包括以下步骤:
S20.基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含邮件内容的目标页面。
首先,服务器可以集成一浏览器内核,例如,该浏览器内核可以是一无界面的浏览器内核;接下来,浏览器内核可以通过绘制图表图形的JavaScript插件对邮件内容的原始数据进行分析处理,并可以将原始数据的一部分、多部分或全部转换成图表;随后,可以将生成的图表与原始数据中的其他内容(文字和/或表格)或者图表本身配置为目标页面。
S22.抓取目标页面。
在本公开的示例性实施方式中,可以采用服务器本机地址结合本地web端口的方式抓取步骤S20中生成的目标页面。
S24.对目标页面进行截图,以获取目标页面中的图表部分的图片。
在本公开的示例性实施方式中,浏览器内核提供了可以进行截图的编程接口。另外,一方面,可以在抓取目标页面一预设时间后执行截图操作,以防止截取的图表显示不全;另一方面,为了解决图片尺寸较大而显示模糊的图片缩略图的情况,可以将目标网页切割为多个图片,并在图片嵌入到邮件时,对所述多个图片进行组装;再一方面,针对截图后图片容量较大的问题,可以对图片进行压缩处理。
此外,本公开还针对Java调用截图命令超时的问题,设定了一具有超时机制的超时线程,以避免截图线程一直处于阻塞的情况发生。
S26.将图片嵌入到邮件中。
根据本公开的一些实施例,将图片嵌入到邮件中可以包括将图片嵌入到包含文字部分和/或表格部分的邮件模板中。
根据另外一些实施例,针对邮件信息量较小而对整个目标页面进行截图的情况,可以将截图后的图片直接嵌入到邮件模板中。
在本公开的示例性实施方式的邮件内容生成方法中,服务器通过其集成的浏览器内核对邮件内容的原始数据进行处理以生成目标页面,抓取目标页面,对目标页面进行截图以获取目标页面中的图表部分的图片,并将该图片嵌入邮件中,一方面,在邮件内容中可以显示图表,解决了现有技术因在邮件中无法执行动态脚本而不能展示图表的问题;另一方面,由于不需要外部链接,邮件内容的安全性得到了提高,并且由于不需要外部链接页面与邮件之间的切换操作,阅读邮件的便利性得到了提高;再一方面,由于图表是以图片形式嵌入邮件的,因此,避免了编辑邮件的人员对图表进行整理的操作,可以在避免操作失误的同时节省了时间。
下面将对本公开的示例性实施方式的邮件内容生成方法的整个实现过程进行说明。
首先,服务器可以集成一浏览器内核,该浏览器内核可以对邮件内容的原始数据进行分析处理。根据本公开的一些实施例,服务器可以集成一无界面的浏览器内核,例如,开发人员可以在服务器中集成PhantomJS,其中,PhantomJS为基于webkit的JavaScriptAPI的浏览器引擎。另外,针对具体的集成方法,一方面,研发人员可以直接从互联网上下载PhantomJS的源码进行编译,另一方面,研发人员亦可直接下载编译后的二进制文件。应当注意的是,还可以采用其他浏览器内核,本公开对此不作具体限定。
接下来,集成有浏览器内核的服务器可以对待发送邮件的原始数据进行分析处理,以形成包含图表部分的目标页面。此时,目标页面可以包含需要发送邮件的全部信息。具体的,浏览器内核可以通过绘制图表图形的JavaScript插件对原始数据中需要形成图表的数据进行分析处理,并将其转换成直观的图表。接下来,可以将生成的一个或多个图表结合原始数据中的其他内容(文字和/或表格)配置为目标页面,此时,目标页面在包含图表的同时可以展示出原始数据所要呈现的全部信息。
图3以一企业销售日报数据为例示出了目标页面。从图3中可以看出,目标页面可以包含表格部分31、33、38以及图表部分32、34、35、36、37,其中,图表又可以包括折线图、柱形图、双环图、柱状占比图等表现形式。应当理解的是,图3仅示出了目标页面可能包含的组织形式,而对于其实际的数据内容不属于本发明考虑的要点。另外,图3仅是示例性的,本公开所述的目标页面还可以存在其他组织形式。
在生成目标页面后,可以抓取目标页面。然而,由于服务器通常存在权限控制的问题(尤其针对私网服务器),也就是说,服务器中集成的浏览器内核不能直接访问外网域名的地址,即使web内容存在于服务器中,服务器中集成的浏览器内核也无法访问该web内容。鉴于此,本公开的示例性实施方式可以采用localhost(默认的服务器本机地址)结合web端口的方式访问web内容,进而抓取目标页面。例如,开发人员可以自行将web端口指定为1234,此时,可以例如通过http://localhost:1234的方式访问服务器本机的web内容,进而抓取该web内容中的目标页面。
接下来,可以通过浏览器内核的截图工具对抓取到的目标页面进行截图。具体的,浏览器内核提供了可以进行截图的编程接口,开发人员可以通过编程的方式控制截图操作。本公开的这种截图方式方便灵活,能够满足各种形式的截图需求。
目标页面可能包含文字部分、表格部分和图表部分,开发人员可以通过编程命令对目标页面的图表部分进行截图操作,以获取目标页面中图表部分的图片。
然而,本公开的截图对象还可以是目标页面的文字部分和/或表格部分。也就是说,除图表部分外,还可以通过编程的方式对文字部分和/或表格部分进行截图操作。此外,针对目标页面的信息量较小的情况,可以对整个目标页面进行截图操作。应当理解的是,本公开所采用的截图方式能够针对目标页面的各文字部分、各表格部分和各图表部分中的一个部分或多个部分。
根据本公开的一些实施例,由于目标页面的图表部分是通过JS渲染而得到的,而图表的渲染需要一定的反应时间,因此,为了防止截取的图表显示不全,本公开可以在抓取目标页面后一预设时间后对目标页面进行截图。例如,该预设时间可以为3s,但不限于此,开发人员可以对图表的渲染时间进行统计,并根据统计结果确定该预设时间的值,本示例性实施方式中对此不做特殊限定。通过该预设时间的设置,能够确保截取的图片中信息的完整性。
此外,发明人发现,在截图图片过长时,一些邮件客户端会直接显示该图片的缩略图,而缩略图往往较模糊,给接收邮件的人员造成较差的视觉效果,严重的还会无法看清缩略图上的信息。经过测试表明,截图图片优选的尺寸为:宽高均在2000像素以内。对于目标网页较长的情况,可以预先对目标网页进行切割规划,确保将目标网页分割为若干尺寸适当的图片,并在之后的邮件模板中进行组装。由此,解决了由于图片过长而显示模糊的缩略图的问题。
根据本公开的一些实施例,在一些情况下,可能存在截图后的图片容量较大的问题,尤其在目标页面存在较多的图表部分时该问题尤为突出。鉴于此,本公开的邮件内容生成方法还可以包括对图片进行压缩处理。首先,可以配置一图片压缩开关;接下来,当开启该开关时,服务器可以利用例如Java ImageIO的工具对图片进行压缩处理。另外,压缩的比率可以根据实际要求的图片质量进行设定。容易理解的是,压缩比率越大,图片失真越严重。因此,在图片的数量不多的情况下,可以关闭图片压缩开关。本公开通过配置图片压缩开关,能够在确保图片容量较小的情况下不会造成图片失真。
此外,本公开还涉及Java调用截图命令超时的解决方案。Java调用截图命令,命令执行完成后会收到通知进行下一步操作,而该通知操作通常是通过Java Process工具调用waitFor来实现。由于一些原因可能导致Java线程阻塞,waitFor会将Java线程阻塞直至截图命令执行完成并返回结果。然而,waitFor没有超时机制,一旦调用截图命令一直未返回,则截图线程将一直阻塞,即,截图操作会一直处于等待状态。鉴于此,本公开可以设定一具有超时机制的超时线程,并在一预设超时时间(例如,60s)后,利用该超时线程来强行关闭截图线程。本公开通过设定超时机制,能够有效地解决调用截图命令超时而造成截图线程一直阻塞的问题。
针对将截图后的图片插入到邮件中的过程,首先,目标页面中的文字部分和/或表格部分可以直接在模板引擎中进行排版以及样式的设置。本公开的示例性实施方式的模板引擎可以为Velocity模板引擎,然而,不限于此,本公开还可以采用其他模板,例如,FreeMarker模板引擎、XML Template模板引擎等,本示例性实施方式中对此不做特殊限定。
接下来,可以将获得的图表部分的图片嵌入到包含文字部分和/或表格部分的模板中,以生成待发送的邮件内容。其中,根据目标页面的布局形式,在对文字部分和/或表格部分进行排版时,可以预留图表部分的图片的位置。
根据另外一些实施例,当邮件的信息量较小且需要图表时,可以对整个目标页面进行截图,并将此时截图后的图片置于Velocity模板中,以生成待发送的邮件内容。
在本公开的示例性实施方式中,服务器会存储对目标页面进行截图后的图片,随着邮件任务次数的增多,服务器的存储压力越来越大。鉴于此,可以预先创建能够存储这些截图的目录,并定时或满足一预设条件时清理该目录。例如,可以在每次邮件发送成功后,自动对该目录进行清理。通过对该目录的清理,能够有效地释放服务器资源。
根据本公开的一些实施例,本公开还涉及将已生成的邮件内容定时发送的过程。具体的,可以通过定时任务工具(例如,Quartz)来实现邮件的定时发送,也就是说,可以在一开发人员规定的时间将邮件发出。此外,当邮件发送成功后,可以将邮件中配置的最后一次发送状态设为“已发送”。
另外,若已到规定的时间但邮件内容并未生成,此时,服务器会自动生成一关于延迟说明的通知邮件,并将最后一次发送状态设为“延迟发送”。然而,邮件标题仅有一个,通常针对的是正常发送的邮件。为了解决该问题,本公开将延迟发送通知配置为JSON格式,例如,该格式可以为{title:’xxx邮件延迟说明’,content:’由于底层任务延迟,日报数据延迟发送,给大家带来不便请谅解。’},此时,Java解析时仅分别取title和content的值即可,而无需改变当前的数据结构。
根据本公开的一些实施例,本公开还建立了一邮件定时巡检任务,用于当邮件发送任务失败时重新触发邮件发送任务。另外,可以对巡检周期进行限定,例如,每分钟巡检一次。
根据本公开的一些实施例,本公开还构建了邮件发送任务自检机制。具体的,在一预设时间范围内(例如,每天),邮件内容发送成功的邮件和延迟说明的通知邮件仅被允许最多发送一次,以避免接收人员反复接收邮件产生反感情绪。
下面将参考图4对本公开的示例性实施方式的发送邮件的整个过程进行说明。
在步骤S400中,服务器可以执行邮件定时发送任务,具体的,可以采用Quartz定时任务工具实现邮件定时发送;在步骤S402中,可以判断是否成功发送邮件,具体的,由于本公开限定的邮件发送任务自检机制,当天仅能成功发送一封相同的邮件,当判断出已成功发送邮件时,步骤可以跳转至步骤S420,当判断出未成功发送邮件时,步骤可以跳转至步骤S404;在步骤S404中,判断目标页面是否生成,并且当判断出目标页面未生成时,步骤可以跳转至步骤S406,当判断出目标页面已生成时,步骤可以跳转至步骤S410;在步骤S406中,可以判断当前是否未发送延迟说明邮件,并且在判断出已发送延迟说明邮件时,步骤跳转至步骤S408以发送延迟说明邮件,在判断出未发送延迟说明邮件时,步骤跳转至步骤S450,此时,定时巡检任务会检测到该情况,并重新触发邮件定时发送任务;在步骤S410中,可以对目标页面中的图表部分进行无界面截图,具体的,可以包括在获得目标页面后预设时间后进行截图操作,并且对目标页面进行切割操作、对图片进行压缩处理等操作;在步骤S412中,可以判断在一规定时间内是否截图成功,并且在截图未成功时,经由步骤S450的定时巡检,重新触发邮件定时发送任务,在截图成功时,步骤跳转至步骤S414;在步骤S414中,可以将截取的图表部分与目标页面中的文字部分和/或表格部分进行整合;在步骤S416中,可以由SpringMail指定渲染模板,并执行邮件发送的操作;在步骤S418中,可以判断邮件是否发送成功,并且在判断出邮件发送成功时,步骤跳转至步骤S420,本次邮件发送任务结束,在判断出邮件发送失败时,经由步骤S450的定时巡检,可以重新触发邮件定时发送任务。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本示例实施方式中还提供了一种邮件内容生成装置。
图5示意性示出了本公开的示例性实施方式的邮件内容生成装置的方框图。参考图5,根据本公开的示例性实施方式的邮件内容生成装置5可以包括页面生成模块50、页面抓取模块52、页面截图模块54和图片嵌入模块56,其中:
页面生成模块50,可以用于基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含邮件内容的目标页面;
页面抓取模块52,可以用于抓取目标页面;
页面截图模块54,可以用于对目标页面进行截图,以获取目标页面中的图表部分的图片;以及
图片嵌入模块56,可以用于将图片嵌入到邮件中。
根据本公开的示例性实施方式的邮件内容生成装置,一方面,在邮件内容中可以显示图表,解决了现有技术因在邮件中无法执行动态脚本而不能展示图表的问题;另一方面,由于不需要外部链接,邮件内容的安全性得到了提高,并且由于不需要外部链接页面与邮件之间的切换操作,阅读邮件的便利性得到了提高;再一方面,由于图表是以图片形式嵌入邮件的,因此,避免了编辑邮件的人员对图表进行整理的操作,可以在避免操作失误的同时节省了时间。
根据本公开的示例性实施例,目标页面还包括文字部分和/或表格部分;其中,将图片嵌入到邮件中包括:
将图片嵌入到包含文字部分和/或表格部分的邮件模板中。
根据本公开的示例性实施例,浏览器内核为无界面的浏览器内核。
根据本公开的示例性实施例,参考图6,页面截图模块54包括:
截图控制单元600,可以用于抓取目标页面一预设时间后对目标页面进行截图。
通过截图控制单元600的截图时机控制,可以确保截取的图片中信息的完整性。
根据本公开的示例性实施例,参考图7,相对于邮件内容生成模块5,邮件内容生成装置7除包括页面生成模块50、页面抓取模块52、页面截图模块54、图片嵌入模块56之外,还包括:
页面切割模块70,可以用于将目标网页切割为多个图片,并且在将图片嵌入到邮件时,对所述多个图片进行组装。
通过页面切割模块70对目标网页进行切割,解决了由于图片过长而显示模糊的缩略图的问题。
根据本公开的示例性实施例,参考图8,相对于邮件内容生成模块5,邮件内容生成装置8除包括页面生成模块50、页面抓取模块52、页面截图模块54、图片嵌入模块56之外,还包括:
截图压缩模块80,可以用于在将图片嵌入到邮件之前,对图片进行压缩。
通过截图压缩模块80对图片进行压缩,可以减少图片的容量。
根据本公开的示例性实施例,抓取目标页面包括:
采用本机地址结合本地web端口的方式抓取目标页面。
根据本公开的示例性实施例,参考图9,相对于邮件内容生成模块5,邮件内容生成装置9除包括页面生成模块50、页面抓取模块52、页面截图模块54、图片嵌入模块56之外,还包括:
发送控制模块90,可以用于对邮件进行定时发送控制。
由于本发明实施方式的程序运行性能分析装置的各个功能模块与上述方法发明实施方式中相同,因此在此不再赘述。另外,容易理解的是,虽然页面切割模块70被描述在邮件内容生成装置7中,然而,页面切割模块70还可以包含于邮件内容生成装置8和/或邮件内容生成装置9中,类似地,截图压缩模块80还可以包含于邮件内容生成装置7和/或邮件内容生成装置9中,发送控制模块90还可以包含于邮件内容生成装置7和/或邮件内容生成装置8中。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图10所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图11来描述根据本发明的这种实施方式的电子设备1100。图11显示的电子设备1100仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图11所示,电子设备1100以通用计算设备的形式表现。电子设备1100的组件可以包括但不限于:上述至少一个处理单元1110、上述至少一个存储单元1120、连接不同系统组件(包括存储单元1120和处理单元1110)的总线1130、显示单元1140。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1110执行,使得所述处理单元1110执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元1110可以执行如图2中所示的步骤S20至步骤S26。
存储单元1120可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)11201和/或高速缓存存储单元11202,还可以进一步包括只读存储单元(ROM)11203。
存储单元1120还可以包括具有一组(至少一个)程序模块11205的程序/实用工具11204,这样的程序模块11205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1130可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1100也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1150进行。并且,电子设备1100还可以通过网络适配器1160与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1160通过总线1130与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

Claims (18)

1.一种邮件内容生成方法,其特征在于,包括:
基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含所述邮件内容的目标页面;
抓取所述目标页面;
对所述目标页面进行截图,以获取所述目标页面中的图表部分的图片;以及
将所述图片嵌入到邮件中。
2.根据权利要求1所述的邮件内容生成方法,其特征在于,所述目标页面还包括文字部分和/或表格部分;其中,将所述图片嵌入到邮件中包括:
将所述图片嵌入到包含所述文字部分和/或所述表格部分的邮件模板中。
3.根据权利要求1所述的邮件内容生成方法,其特征在于,所述浏览器内核为无界面的浏览器内核。
4.根据权利要求1所述的邮件内容生成方法,其特征在于,所述邮件内容生成方法还包括:
抓取所述目标页面一预设时间后对所述目标页面进行截图。
5.根据权利要求1所述的邮件内容生成方法,其特征在于,所述邮件内容生成方法还包括:
将所述目标页面切割为多个图片,并且在将所述图片嵌入到邮件时,对所述多个图片进行组装。
6.根据权利要求1所述的邮件内容生成方法,其特征在于,所述邮件内容生成方法还包括:
在将所述图片嵌入到邮件之前,对所述图片进行压缩。
7.根据权利要求1所述的邮件内容生成方法,其特征在于,抓取所述目标页面包括:
采用本机地址结合本地web端口的方式抓取所述目标页面。
8.根据权利要求1所述的邮件内容生成方法,其特征在于,所述邮件内容生成方法还包括:
对所述邮件进行定时发送控制。
9.一种邮件内容生成装置,其特征在于,包括:
页面生成模块,用于基于集成的浏览器内核对邮件内容的原始数据进行处理,以生成包含所述邮件内容的目标页面;
页面抓取模块,用于抓取所述目标页面;
页面截图模块,用于对所述目标页面进行截图,以获取所述目标页面中的图表部分的图片;以及
图片嵌入模块,用于将所述图片嵌入到邮件中。
10.根据权利要求9所述的邮件内容生成装置,其特征在于,所述目标页面还包括文字部分和/或表格部分;其中,将所述图片嵌入到邮件中包括:
将所述图片嵌入到包含所述文字部分和/或所述表格部分的邮件模板中。
11.根据权利要求9所述的邮件内容生成装置,其特征在于,所述浏览器内核为无界面的浏览器内核。
12.根据权利要求9所述的邮件内容生成装置,其特征在于,所述页面截图模块包括:
截图控制单元,用于抓取所述目标页面一预设时间后对所述目标页面进行截图。
13.根据权利要求9所述的邮件内容生成装置,其特征在于,所述邮件内容生成装置还包括:
页面切割模块,用于将所述目标页面切割为多个图片,并且在将所述图片嵌入到邮件时,对所述多个图片进行组装。
14.根据权利要求9所述的邮件内容生成装置,其特征在于,所述邮件内容生成装置还包括:
截图压缩模块,用于在将所述图片嵌入到邮件之前,对所述图片进行压缩。
15.根据权利要求9所述的邮件内容生成装置,其特征在于,抓取所述目标页面包括:
采用本机地址结合本地web端口的方式抓取所述目标页面。
16.根据权利要求9所述的邮件内容生成装置,其特征在于,所述邮件内容生成装置还包括:
发送控制模块,用于对所述邮件进行定时发送控制。
17.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的邮件内容生成方法。
18.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8中任一项所述的邮件内容生成方法。
CN201710625168.5A 2017-07-27 2017-07-27 邮件内容生成方法及装置、存储介质和电子设备 Active CN109309612B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710625168.5A CN109309612B (zh) 2017-07-27 2017-07-27 邮件内容生成方法及装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710625168.5A CN109309612B (zh) 2017-07-27 2017-07-27 邮件内容生成方法及装置、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN109309612A true CN109309612A (zh) 2019-02-05
CN109309612B CN109309612B (zh) 2022-02-25

Family

ID=65202908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710625168.5A Active CN109309612B (zh) 2017-07-27 2017-07-27 邮件内容生成方法及装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN109309612B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110599242A (zh) * 2019-08-30 2019-12-20 北京安锐卓越信息技术股份有限公司 制作和发布营销图片的方法、装置和存储介质
CN111651966A (zh) * 2020-06-04 2020-09-11 航天科工智慧产业发展有限公司 数据报告文件生成方法、装置与电子设备
CN113821747A (zh) * 2021-08-31 2021-12-21 挂号网(杭州)科技有限公司 一种数据展示方法、装置、存储介质及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079061A (zh) * 2007-04-09 2007-11-28 腾讯科技(深圳)有限公司 一种网页截屏系统及其实现方法
US20090106415A1 (en) * 2007-07-25 2009-04-23 Matthew Brezina Display of Person Based Information Including Person Notes
CN103391242A (zh) * 2013-07-17 2013-11-13 湖南智源信息网络技术开发有限公司 一种表格数据传输方法
CN103927178A (zh) * 2014-04-18 2014-07-16 长沙裕邦软件开发有限公司 一种截图方法及截图装置
CN104486430A (zh) * 2014-12-18 2015-04-01 北京奇虎科技有限公司 移动浏览器客户端中实现数据分享的方法、装置和客户端
CN106332015A (zh) * 2015-06-25 2017-01-11 北京神州泰岳软件股份有限公司 一种实现信息提醒的方法和装置
CN106372175A (zh) * 2016-08-31 2017-02-01 五八同城信息技术有限公司 报表的处理方法、装置和服务器
CN106933862A (zh) * 2015-12-30 2017-07-07 北京神州泰岳软件股份有限公司 一种生成邮件报告的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079061A (zh) * 2007-04-09 2007-11-28 腾讯科技(深圳)有限公司 一种网页截屏系统及其实现方法
US20090106415A1 (en) * 2007-07-25 2009-04-23 Matthew Brezina Display of Person Based Information Including Person Notes
CN103391242A (zh) * 2013-07-17 2013-11-13 湖南智源信息网络技术开发有限公司 一种表格数据传输方法
CN103927178A (zh) * 2014-04-18 2014-07-16 长沙裕邦软件开发有限公司 一种截图方法及截图装置
CN104486430A (zh) * 2014-12-18 2015-04-01 北京奇虎科技有限公司 移动浏览器客户端中实现数据分享的方法、装置和客户端
CN106332015A (zh) * 2015-06-25 2017-01-11 北京神州泰岳软件股份有限公司 一种实现信息提醒的方法和装置
CN106933862A (zh) * 2015-12-30 2017-07-07 北京神州泰岳软件股份有限公司 一种生成邮件报告的方法和装置
CN106372175A (zh) * 2016-08-31 2017-02-01 五八同城信息技术有限公司 报表的处理方法、装置和服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110599242A (zh) * 2019-08-30 2019-12-20 北京安锐卓越信息技术股份有限公司 制作和发布营销图片的方法、装置和存储介质
CN111651966A (zh) * 2020-06-04 2020-09-11 航天科工智慧产业发展有限公司 数据报告文件生成方法、装置与电子设备
CN113821747A (zh) * 2021-08-31 2021-12-21 挂号网(杭州)科技有限公司 一种数据展示方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN109309612B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
US20080282160A1 (en) Designated screen capturing and automatic image exporting
WO2020096803A1 (en) Document contribution management system
US20170357486A1 (en) Enhancing a crowdsourced integrated development environment application
JP7293643B2 (ja) 構造化文書の内容をチャットベースのインタラクションに翻訳するための半自動化された方法及びシステム、プログラム
CN102567091A (zh) 电子通信优先分配
CN104133828A (zh) 用于html文档的拖放剪贴板
US11321360B2 (en) Intelligently identifying a user's relationship with a document
US9996381B1 (en) Live application management workflow using metadata capture
US11418463B2 (en) Method and system of intelligently providing responses for a user in the user's absence
US20160283083A1 (en) Intelligent interactive screen capture
US10437779B2 (en) Intelligent interactive screen capture
CN109309612A (zh) 邮件内容生成方法及装置、存储介质和电子设备
JP2019016288A (ja) 情報処理装置、情報処理システムおよびプログラム
JP7280388B2 (ja) カスタマイズされた人工知能生産ラインを実行する装置及び方法、機器及び媒体
US8117561B2 (en) Method and system for managing apparatus
CN111783004A (zh) 页面嵌入方法、装置及系统
US20220143825A1 (en) Automated process robotic system, method, non transitory computer readable recording medium and computer program product with integrated process and automated data analysis
CN110688145A (zh) Android MVP代码自动生成方法、装置、介质、电子设备
CN111612501B (zh) 一种基于策略复用的信息生成方法、装置和电子设备
CN109491687A (zh) 一种应用软件的热更新方法、装置、终端及可读介质
CN102426547B (zh) 一种云端数据恢复方法及系统
CN113342450A (zh) 页面处理的方法、装置、电子设备及计算机可读介质
CN107179899B (zh) 一种轻量级信息的窗口展示方法及装置
US20230393871A1 (en) Method and system of intelligently generating help documentation
WO2016000655A1 (en) Home system establishing method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant