CN109583847A - 邮件发送方法、装置、服务器及存储介质 - Google Patents

邮件发送方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN109583847A
CN109583847A CN201811536793.3A CN201811536793A CN109583847A CN 109583847 A CN109583847 A CN 109583847A CN 201811536793 A CN201811536793 A CN 201811536793A CN 109583847 A CN109583847 A CN 109583847A
Authority
CN
China
Prior art keywords
mail
sending
request
mailbox interface
application subsystem
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.)
Pending
Application number
CN201811536793.3A
Other languages
English (en)
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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201811536793.3A priority Critical patent/CN109583847A/zh
Publication of CN109583847A publication Critical patent/CN109583847A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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]
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Operations Research (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种邮件发送方法,包括:门户系统所关联的至少一个应用子系统接收外部输入的邮件信息,并生成一邮件发送请求;所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;所述门户系统调用统一邮箱接口;及通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。本发明还提供一种邮件发送装置、服务器及存储介质。通过本发明可以可以避免应用子系统中的邮件系统的重复性开发工作的情况,实现系统功能优化,减少大量的人力开销。

Description

邮件发送方法、装置、服务器及存储介质
技术领域
本发明涉及移动通信技术领域,具体涉及一种邮件发送方法、装置、服务器及存储介质。
背景技术
随着政府部门及企业信息化进程的飞速发展,越来越多的办公软件、业务系统、数据充斥在日常的工作当中。上述办公软件、业务系统都可以集成在企业门户系统中,成为所述门户系统的应用子系统。从而通过门户系统就可以访问上述应用子系统。但是现有技术中,门户系统的应用子系统在使用邮件服务时,往往需要另外申请和开发适用于所述应用子系统的邮件系统,存在费时费力,占用较多资源的问题。
发明内容
鉴于以上内容,有必要提出一种邮件发送方法、装置、服务器及存储介质,可以避免应用子系统中的邮件系统的重复性开发工作的情况,减少大量的人力开销。
本发明的第一方面提供一种邮件发送方法,所述方法包括:
门户系统所关联的至少一个应用子系统接收外部输入的邮件信息,并生成一邮件发送请求;
所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;
所述门户系统调用统一邮箱接口;及
通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。
优选地,所述方法还包括:所述门户系统记录发送邮件发送请求的应用子系统的相关信息,其中,所述相关信息包括所述应用子系统的名称及其发送邮件发送请求的次数。
优选地,所述方法还包括:所述门户系统根据记录的相关信息对所述统一邮箱接口进行监控和限流。
优选地,所述门户系统根据记录的相关信息对所述统一邮箱接口进行监控和限流包括:
预先设置所述统一邮箱接口发送邮件发送请求的最大次数;
实时监控所述统一邮箱接口,并获取所述统一邮箱接口的当前发送邮件发送请求的次数;
将所述当前发送邮件发送请求的次数与所述最大次数进行比对;
当所述当前发送邮件发送请求的次数小于等于所述最大次数时,继续监控所述统一邮箱接口;及
当所述当前发送邮件发送请求的次数大于所述最大次数时,对所述统一邮箱接口进行限流。
优选地,所述限流采用的算法包括计数器算法、漏桶算法和令牌桶算法。
优选地,所述通过所述统一邮箱接口调用邮件系统发送邮件的步骤包括:
确定待发送邮件的目标邮件服务器的地址;
设置邮件的传输协议;
建立邮件发送的连接;
创建发送信息的载体;
通过邮件发送请求中的邮件信息设置相关的邮件属性;
通过设置的传输协议发送邮件至所述目标邮件服务器的地址。
优选地,所述邮件信息包括邮件主题、收件人、抄送人、邮件内容和签名。
本发明的第二方面提供一种邮件发送装置,所述装置包括:
接收模块,用于在门户系统所关联的至少一个应用子系统中接收外部输入的邮件信息,并生成一邮件发送请求;
发送模块,用于通过所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;
调用模块,用于通过所述门户系统调用统一邮箱接口;及
所述发送模块,还用于通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。
本发明的第三方面提供一种服务器,所述服务器包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述邮件发送方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述邮件发送方法。
本发明所述的邮件发送方法、装置、服务器及存储介质,本发明通过门户系统调用统一邮箱接口,实现所述门户系统所关联的至少一个应用子系统可以通过所述统一邮箱接口调用邮件系统发送邮件。可以避免应用子系统中的邮件系统的重复性开发工作的情况,可以减少大量的人力开销,同时,提高了系统的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例一提供的邮件发送方法的流程图。
图2是本发明实施例二提供的本发明邮件发送装置较佳实施例中的功能模块图。
图3是本发明实施例三提供的服务器的示意图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例的邮件发送方法应用在由至少一个服务器和通过网络与所述服务器进行连接的客户端所构成的硬件环境中。网络包括但不限于:广域网、城域网或局域网。本发明实施例的邮件发送方法可以由服务器来执行,也可以由客户端来执行;还可以是由服务器和客户端共同执行。所述服务器是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(应用程序lication Specific Integrated Circuit,ASIC)、可编程门阵列(Field-ProgrammableGate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述对于需要进行邮件发送方法的服务器,可以直接在服务器上集成本发明的方法所提供的邮件发送功能,或者安装用于实现本发明的方法的客户端。再如,本发明所提供的方法还可以以软件开发工具包(Software Development Kit,SDK)的形式运行在服务器等设备上,以SDK的形式提供邮件发送功能的接口,服务器或其他设备通过提供的接口即可实现邮件发送功能。
实施例一
参阅图1所示,本发明实施例一提供的邮件发送方法的流程图。根据不同的需求,所述流程图中的执行顺序可以改变,某些步骤可以省略。
步骤S01、门户系统所关联的至少一个应用子系统接收外部输入的邮件信息,并生成一邮件发送请求。
在本实施方式中,所述门户系统(Portal System)通过统一入口,为企业员工、分销商、代理商、供应商、合作伙伴等同一价值链上的相关人员提供个性化的信息、知识、服务与应用。所述门户系统是一种基于Web的,将不同应用、不同业务过程、不同后端系统、不同的服务和信息、不同知识等内容集成到一个个性化窗口中的功能强大的软件系统平台。所述门户系统可以认为是一个自身可管理的资源集合体。
所述门户系统关联至少一个应用子系统,所述应用子系统主要用于为用户提供日常工作中用到的各类应用,此类应用与用户的工作内容相关,为用户在日常工作中使用的应用系统。例如企业门户系统包括的应用子系统有邮件系统、考勤系统、文档管理系统、工作流管理系统、OA办公系统、CMS网站管理系统、HR人力资源管理系统、SFA销售管理系统和ERP企业资源管理系统,这些应用子系统都通过统一的集成技术关联到门户系统中。现有技术中,所述门户系统与各应用子系统之间的信息无法共享,需要采用不同的技术方案实现信息共享。例如,所述门户系统可以采用单点登录技术实现同一用户名与密码登录不同的应子用系统,从而实现门户系统与应用子系统中的用户名与密码的共享。
现有技术中,所述应用子系统使用邮件服务时,往往需要另外申请和开发适用于所述应用子系统的邮件系统,存在费时费力,占用较多资源的问题。在本实施方式中,在所述应用子系统接收邮件信息后,可以生成一邮件发送请求,并发送所述请求至门户系统,通过调用所述门户系统的统一邮箱接口来发送邮件。
在本实施方式中,所述邮件信息包括邮件主题、收件人、抄送人、邮件内容、签名等信息。所述邮件发送请求可以是post请求,所述邮件发送请求包括所述邮件信息。
在本实施方式中,所述应用子系统可以提供一用户界面供用户输入所述邮件信息。可以理解的是,为了不占用所述应用子系统的界面内容,可以在所述应用子系统界面设置一按钮,当用户操作所述按钮时,触发所述应用子系统生成所述用户界面供用户输入所述邮件信息。
步骤S02、所述至少一个应用子系统发送所述邮件发送请求至所述门户系统。
在本实施方式中,所述邮件发送请求可以是post请求,所述至少一个应用子系统发送post请求至所述门户系统。所述post请求的消息主体中记录有所述邮件信息。
在本实施方式中,所述邮件发送方法还包括:所述门户系统统计发送邮件发送请求的应用子系统的相关信息。具体地,所述门户系统统计发送邮件发送请求的应用子系统名称及其发送邮件发送请求的次数。
步骤S03、所述门户系统调用统一邮箱接口。
在本实施方式中,所述统一邮箱接口为一API接口。
在本实施方式中,所述邮件发送方法还包括:所述门户系统根据记录的相关信息对所述统一邮箱接口进行监控和限流。
在本实施方式中,对所述统一邮箱接口进行监控和限流的方法包括:
预先设置所述统一邮箱接口发送邮件发送请求的最大次数;
实时监控所述统一邮箱接口,并获取所述统一邮箱接口的当前发送邮件发送请求的次数;
将所述当前发送邮件发送请求的次数与所述最大次数进行比对;
当所述当前发送邮件发送请求的次数小于等于所述最大次数时,继续监控所述统一邮箱接口;
当所述当前发送邮件发送请求的次数大于所述最大次数时,对所述统一邮箱接口进行限流。
具体地,为了保证系统的安全性和可靠性,往往需要限制所述统一邮箱接口的调用频率,即1s允许调用的次数。在本实施方式中,可以采用限流的方式来控制所述统一邮箱接口的调用频率。所述限流采用的算法有计数器算法、漏桶算法和令牌桶算法。
所述计数器通过直接统计预设时间内(如1秒)的邮件发送请求来判断是否需要拒绝请求。具体地,设定所述统一邮箱接口在预设时间内可接收的邮件发送请求的最大阈值,若统计的预设时间内的邮件发送请求数大于所述最大阈值,则通过拒绝接收所述邮件发送请求进行限流。
所述漏桶(Leaky Bucket)算法指水(邮件发送请求)先进入到漏桶里,漏桶以一定的速度出水(统一邮箱接口的响应速率),当水流入速度过大会直接溢出(邮件发送请求的访问频率超过统一邮箱接口的响应速率),然后就拒绝继续接收所述邮件发送请求。
所述令牌桶算法(Token Bucket)是基于如下的场景的模拟,有一个装有令牌(token)且令牌数量固定的桶,令牌添加的速率是固定的,当接收到邮件发送请求时,会检查下桶中是否包含足够多的令牌(一个请求可能需要多个令牌)。再从桶中消费令牌,若令牌数量足够,则消费掉桶中的令牌;若令牌数量不够,则可能出现阻塞或拒绝服务(拒绝继续接收所述邮件发送请求)。
在本实施方式中,通过使用Guava中提供的RateLimiter类来控制邮件发送请求对所述统一邮箱接口的访问速率。所述RateLimiter采用的是上述令牌桶算法。所述RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,例如,统一邮箱接口的每秒查询率(QPS)不要超过1000,那么RateLimiter设置1000的速率后,就会每秒往桶里扔1000个令牌。
步骤S04、通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。
在本实施方式中,所述邮件系统可以是Foxmail、outlook和网易邮箱等邮件系统。
在本实施方式中,通过所述统一邮箱接口调用邮件系统发送邮件具体包括步骤:
a)确定待发送邮件的目标邮件服务器的地址;例如,需要发送邮件至163邮箱,则确定待发送邮件的目标邮件服务器的地址为smtp.163.com。
b)设置邮件的传输协议;所述传输协议包括SMTP协议和POP3协议,例如Properties props=System.getProperties();
props.put(“mail.smtp.host”,mailserver);
c)建立邮件发送的连接;
d)创建发送信息的载体;
e)通过邮件发送请求中的邮件信息设置相关的邮件属性,如主题,发件人、收件人、邮件内容等。
f)通过设置的传输协议发送邮件至所述目标邮件服务器的地址。
综上所述,本发明提供的邮件发送方法,所述方法包括:门户系统所关联的至少一个应用子系统接收外部输入的邮件信息,并生成一邮件发送请求;所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;所述门户系统调用统一邮箱接口;及通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。从而可以避免应用子系统中的邮件系统的重复性开发工作的情况,可以减少大量的人力开销,同时,提高了系统的效率。本发明还可以监控所述统一邮箱接口使用情况,并对该统一邮箱接口进行限流,以保证系统的安全性和可靠性。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
下面结合第2至3图,分别对实现上述邮件发送方法的服务器的功能模块及硬件结构进行介绍。
实施例二
图2为本发明邮件发送装置较佳实施例中的功能模块图。
在一些实施例中,所述邮件发送装置20运行于服务器中。所述邮件发送装置20可以包括多个由程序代码段所组成的功能模块。所述邮件发送装置20中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行(详见图1及其相关描述)邮件发送功能。
本实施例中,所述邮件发送装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块201、发送模块202及调用模块203。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
所述接收模块201用于在门户系统所关联的至少一个应用子系统中接收外部输入的邮件信息,并生成一邮件发送请求。
在本实施方式中,所述门户系统(Portal System)通过统一入口,为企业员工、分销商、代理商、供应商、合作伙伴等同一价值链上的相关人员提供个性化的信息、知识、服务与应用。所述门户系统是一种基于Web的,将不同应用、不同业务过程、不同后端系统、不同的服务和信息、不同知识等内容集成到一个个性化窗口中的功能强大的软件系统平台。所述门户系统可以认为是一个自身可管理的资源集合体。
所述门户系统关联至少一个应用子系统,所述应用子系统主要用于为用户提供日常工作中用到的各类应用,此类应用与用户的工作内容相关,为用户在日常工作中使用的应用系统。例如企业门户系统包括的应用子系统有邮件系统、考勤系统、文档管理系统、工作流管理系统、OA办公系统、CMS网站管理系统、HR人力资源管理系统、SFA销售管理系统和ERP企业资源管理系统,这些应用子系统都通过统一的集成技术关联到门户系统中。现有技术中,所述门户系统与各应用子系统之间的信息无法共享,需要采用不同的技术方案实现信息共享。例如,所述门户系统可以采用单点登录技术实现同一用户名与密码登录不同的应子用系统,从而实现门户系统与应用子系统中的用户名与密码的共享。
现有技术中,所述应用子系统使用邮件服务时,往往需要另外申请和开发适用于所述应用子系统的邮件系统,存在费时费力,占用较多资源的问题。在本实施方式中,在所述应用子系统接收邮件信息后,可以生成一邮件发送请求,并发送所述请求至门户系统,通过调用所述门户系统的统一邮箱接口来发送邮件。
在本实施方式中,所述邮件信息包括邮件主题、收件人、抄送人、邮件内容、签名等信息。所述邮件发送请求可以是post请求,所述邮件发送请求包括所述邮件信息。
在本实施方式中,所述应用子系统可以提供一用户界面供用户输入所述邮件信息。可以理解的是,为了不占用所述应用子系统的界面内容,可以在所述应用子系统界面设置一按钮,当用户操作所述按钮时,触发所述应用子系统生成所述用户界面供用户输入所述邮件信息。
所述发送模块202用于通过所述至少一个应用子系统发送所述邮件发送请求至所述门户系统。
在本实施方式中,所述邮件发送请求可以是post请求,所述至少一个应用子系统发送post请求至所述门户系统。所述post请求的消息主体中记录有所述邮件信息。
在本实施方式中,所述发送模块202还用于通过所述门户系统统计发送邮件发送请求的应用子系统的相关信息。具体地,所述门户系统统计发送邮件发送请求的应用子系统名称及其发送邮件发送请求的次数。
所述调用模块203用于通过所述门户系统调用统一邮箱接口。
在本实施方式中,所述统一邮箱接口为一API接口。
在本实施方式中,所述调用模块203还用于通过所述门户系统根据记录的相关信息对所述统一邮箱接口进行监控和限流。
在本实施方式中,对所述统一邮箱接口进行监控和限流的方法包括:
预先设置所述统一邮箱接口发送邮件发送请求的最大次数;
实时监控所述统一邮箱接口,并获取所述统一邮箱接口的当前发送邮件发送请求的次数;
将所述当前发送邮件发送请求的次数与所述最大次数进行比对;
当所述当前发送邮件发送请求的次数小于等于所述最大次数时,继续监控所述统一邮箱接口;
当所述当前发送邮件发送请求的次数大于所述最大次数时,对所述统一邮箱接口进行限流。具体地,为了保证系统的安全性和可靠性,往往需要限制所述统一邮箱接口的调用频率,即1s允许调用的次数。在本实施方式中,可以采用限流的方式来控制所述统一邮箱接口的调用频率。所述限流采用的算法有计数器算法、漏桶算法和令牌桶算法。
所述计数器通过直接统计预设时间内(如1秒)的邮件发送请求来判断是否需要拒绝请求。具体地,设定所述统一邮箱接口在预设时间内可接收的邮件发送请求的最大阈值,若统计的预设时间内的邮件发送请求数大于所述最大阈值,则通过拒绝接收所述邮件发送请求进行限流。
所述漏桶(Leaky Bucket)算法指水(邮件发送请求)先进入到漏桶里,漏桶以一定的速度出水(统一邮箱接口的响应速率),当水流入速度过大会直接溢出(邮件发送请求的访问频率超过统一邮箱接口的响应速率),然后就拒绝继续接收所述邮件发送请求。
所述令牌桶算法(Token Bucket)是基于如下的场景的模拟,有一个装有令牌(token)且令牌数量固定的桶,令牌添加的速率是固定的,当接收到邮件发送请求时,会检查下桶中是否包含足够多的令牌(一个请求可能需要多个令牌)。再从桶中消费令牌,若令牌数量足够,则消费掉桶中的令牌;若令牌数量不够,则可能出现阻塞或拒绝服务(拒绝继续接收所述邮件发送请求)。
在本实施方式中,通过使用Guava中提供的RateLimiter类来控制邮件发送请求对所述统一邮箱接口的访问速率。所述RateLimiter采用的是上述令牌桶算法。所述RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,例如,统一邮箱接口的每秒查询率(QPS)不要超过1000,那么RateLimiter设置1000的速率后,就会每秒往桶里扔1000个令牌。
所述发送模块202还用于通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。
在本实施方式中,所述邮件系统可以是Foxmail、outlook和网易邮箱等邮件系统。
在本实施方式中,通过所述统一邮箱接口调用邮件系统发送邮件具体包括:
a)确定待发送邮件的目标邮件服务器的地址;例如,需要发送邮件至163邮箱,则确定要发送的邮件服务器的地址为smtp.163.com。
b)设置邮件的传输协议;所述传输协议包括SMTP协议和POP3协议,例如Properties props=System.getProperties();
props.put(“mail.smtp.host”,mailserver);
c)建立邮件发送的连接;
d)创建发送信息的载体;
e)通过邮件发送请求中的邮件信息设置相关的邮件属性,如主题,发件人、收件人、邮件内容等。
f)通过设置的传输协议发送邮件至所述目标邮件服务器的地址。
综上所述,本发明提供的邮件发送装置20包括接收模块201、发送模块202及调用模块203。所述接收模块201用于在门户系统所关联的至少一个应用子系统中接收外部输入的邮件信息,并生成一邮件发送请求;所述发送模块202用于通过所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;所述调用模块203用于通过所述门户系统调用统一邮箱接口;及所述发送模块202还用于通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。从而可以避免应用子系统中的邮件系统的重复性开发工作的情况,可以减少大量的人力开销,同时,提高了系统的效率。本发明还可以监控所述统一邮箱接口使用情况,并对该统一邮箱接口进行限流,以保证系统的安全性和可靠性。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,双屏设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
实施例三
图3为本发明实施例三提供的服务器的示意图。
所述服务器3包括:数据库31、存储器32、至少一个处理器33、存储在所述存储器32中并可在所述至少一个处理器33上运行的计算机程序34及至少一条通讯总线35。
所述至少一个处理器33执行所述计算机程序34时实现上述邮件发送方法实施例中的步骤。
示例性的,所述计算机程序34可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器32中,并由所述至少一个处理器33执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序34在所述服务器3中的执行过程。
所述服务器3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(应用程序licationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。本领域技术人员可以理解,所述示意图3仅仅是服务器3的示例,并不构成对服务器3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器3还可以包括输入输出设备、网络接入设备、总线等。
所述数据库(Database)31是按照数据结构来组织、存储和管理数据的建立在所述服务器3上的仓库。数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。在本实施方式中,所述数据库31用于存储应用子系统名称等信息。
所述至少一个处理器33可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器33可以是微处理器或者所述处理器33也可以是任何常规的处理器等,所述处理器33是所述服务器3的控制中心,利用各种接口和线路连接整个服务器3的各个部分。
所述存储器32可用于存储所述计算机程序34和/或模块/单元,所述处理器33通过运行或执行存储在所述存储器32内的计算机程序和/或模块/单元,以及调用存储在存储器32内的数据,实现所述服务器3的各种功能。所述存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器3的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述存储器32中存储有程序代码,且所述至少一个处理器33可调用所述存储器32中存储的程序代码以执行相关的功能。例如,图3中所述的各个模块是存储在所述存储器32中的程序代码,并由所述至少一个处理器33所执行,从而实现所述各个模块的功能以达到邮件发送的目的。
所述服务器3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
尽管未示出,所述服务器3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理系统与所述至少一个处理器33逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述服务器3还可以包括蓝牙模块、Wi-Fi模块等,在此不再赘述。
应所述了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
在本发明所提供的几个实施例中,应所述理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神范围。

Claims (10)

1.一种邮件发送方法,其特征在于,所述方法包括:
门户系统所关联的至少一个应用子系统接收外部输入的邮件信息,并生成一邮件发送请求;
所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;
所述门户系统调用统一邮箱接口;及
通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。
2.如权利要求1所述的邮件发送方法,其特征在于,所述方法还包括:所述门户系统记录发送邮件发送请求的应用子系统的相关信息,其中,所述相关信息包括所述应用子系统的名称及其发送邮件发送请求的次数。
3.如权利要求2所述的邮件发送方法,其特征在于,所述方法还包括:所述门户系统根据记录的相关信息对所述统一邮箱接口进行监控和限流。
4.如权利要求3所述的邮件发送方法,其特征在于,所述门户系统根据记录的相关信息对所述统一邮箱接口进行监控和限流包括:
预先设置所述统一邮箱接口发送邮件发送请求的最大次数;
实时监控所述统一邮箱接口,并获取所述统一邮箱接口的当前发送邮件发送请求的次数;
将所述当前发送邮件发送请求的次数与所述最大次数进行比对;
当所述当前发送邮件发送请求的次数小于等于所述最大次数时,继续监控所述统一邮箱接口;及
当所述当前发送邮件发送请求的次数大于所述最大次数时,对所述统一邮箱接口进行限流。
5.如权利要求3所述的邮件发送方法,其特征在于:所述限流采用的算法包括计数器算法、漏桶算法和令牌桶算法。
6.如权利要求1所述的邮件发送方法,其特征在于,所述通过所述统一邮箱接口调用邮件系统发送邮件的步骤包括:
确定待发送邮件的目标邮件服务器的地址;
设置邮件的传输协议;
建立邮件发送的连接;
创建发送信息的载体;
通过邮件发送请求中的邮件信息设置相关的邮件属性;
通过设置的传输协议发送邮件至所述目标邮件服务器的地址。
7.如权利要求6所述的邮件发送方法,其特征在于,所述邮件信息包括邮件主题、收件人、抄送人、邮件内容和签名。
8.一种邮件发送装置,其特征在于,所述装置包括:
接收模块,用于在门户系统所关联的至少一个应用子系统中接收外部输入的邮件信息,并生成一邮件发送请求;
发送模块,用于通过所述至少一个应用子系统发送所述邮件发送请求至所述门户系统;
调用模块,用于通过所述门户系统调用统一邮箱接口;及
所述发送模块,还用于通过所述统一邮箱接口调用邮件系统根据所述邮件发送请求发送邮件。
9.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至7中任意一项所述的邮件发送方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的邮件发送方法。
CN201811536793.3A 2018-12-15 2018-12-15 邮件发送方法、装置、服务器及存储介质 Pending CN109583847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811536793.3A CN109583847A (zh) 2018-12-15 2018-12-15 邮件发送方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811536793.3A CN109583847A (zh) 2018-12-15 2018-12-15 邮件发送方法、装置、服务器及存储介质

Publications (1)

Publication Number Publication Date
CN109583847A true CN109583847A (zh) 2019-04-05

Family

ID=65928133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811536793.3A Pending CN109583847A (zh) 2018-12-15 2018-12-15 邮件发送方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN109583847A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921985A (zh) * 2019-03-15 2019-06-21 中国平安人寿保险股份有限公司 邮件群组发送方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369648B1 (en) * 2000-07-06 2008-05-06 Purplecomm, Inc. Apparatus and method for PBX-integrated unified messaging services on a switched backbone
CN101924710A (zh) * 2009-06-15 2010-12-22 北京华智大为科技有限公司 一种企业电子邮箱管理系统和方法
CN103873351A (zh) * 2014-03-20 2014-06-18 上海话宝网络科技有限公司 一种一体化通讯系统及其建立方法
US8775532B1 (en) * 2011-04-11 2014-07-08 Cellco Partnership Method and system for synchronizing messages across multiple digital message accounts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369648B1 (en) * 2000-07-06 2008-05-06 Purplecomm, Inc. Apparatus and method for PBX-integrated unified messaging services on a switched backbone
CN101924710A (zh) * 2009-06-15 2010-12-22 北京华智大为科技有限公司 一种企业电子邮箱管理系统和方法
US8775532B1 (en) * 2011-04-11 2014-07-08 Cellco Partnership Method and system for synchronizing messages across multiple digital message accounts
CN103873351A (zh) * 2014-03-20 2014-06-18 上海话宝网络科技有限公司 一种一体化通讯系统及其建立方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921985A (zh) * 2019-03-15 2019-06-21 中国平安人寿保险股份有限公司 邮件群组发送方法、装置、服务器及存储介质

Similar Documents

Publication Publication Date Title
CN106815764B (zh) 一种基于联盟链的数字资产的管理方法及系统
CN109450772B (zh) 一种消息发送方法、服务器及计算机可读存储介质
CN102567115B (zh) 云系统中用于信息技术资源分配和利用跟踪的装置和方法
CN111641710A (zh) 基于微服务的数据处理方法、装置、终端及存储介质
CN110266643A (zh) 基于租户的签名验证
CN109508344A (zh) 业务数据查询方法、装置、电子设备及存储介质
CN110502592A (zh) 基于大数据分析技术的项目域主题分析系统
CN110413488A (zh) 服务器使用率预警方法及装置
US10904180B2 (en) Emoticon acknowledgment and reaction of email for fast feedback visualization without email overloading
CN102713881A (zh) 多个服务实例的聚合
US11914579B2 (en) Blockchain-based data processing method and apparatus, device, and readable storage medium
CN113900598A (zh) 基于区块链的数据存储方法、装置、设备以及存储介质
CN108806015A (zh) 会议签到方法、装置及终端设备
US20230269273A1 (en) Executing Real-Time Message Monitoring to Identify Potentially Malicious Messages and Generate Instream Alerts
CN115277577A (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
CN110490559A (zh) 一种移动执法检查方法、装置、系统及服务器
CN108833133A (zh) 基于云计算网络的网络配置管理方法、装置和存储介质
CN109583847A (zh) 邮件发送方法、装置、服务器及存储介质
CN110659898B (zh) 一种数据控制方法、装置及存储介质
CN110930238A (zh) 提高审核任务效率的方法、装置、设备和计算机可读介质
CN109600250A (zh) 业务系统故障通知方法、装置、电子装置及存储介质
CN115334026A (zh) 基于区块链的即时通信处理方法、装置、设备及存储介质
CN111401819B (zh) 系统间数据推送方法及系统
CN111159512B (zh) 轨迹信息的处理方法和服务器
CN109921985B (zh) 邮件群组发送方法、装置、服务器及存储介质

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