一种邮件推送方法及系统与流程

文档序号:14993397发布日期:2018-07-20 22:58阅读:523来源:国知局

本发明涉及计算机技术领域,更具体地,涉及一种邮件推送方法及系统。



背景技术:

电子邮件是—种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过电子邮件系统,用户可以以非常低廉的价格、非常快速的方式与世界上任何一个角落的网络用户联系。

在现有电子邮件系统中,发件人在其邮件客户端上编写好邮件之后,通过邮件客户端上的发送功能将邮件发送出去。收件人通过其邮件客户端接收发件人发送的邮件。在现有的邮件推送系统中,系统会根据触发器的状态来执行邮件自动推送的动作,例如,在一个网络交易平台中,当有可以进行下单后,在购买完成后会将购买成功的邮件推送给商家,然而当网络出现问题造成邮件传输失败的时候,系统需要对推送失败的邮件进行重发,在现有技术中,没有一种很好的方法对推送失败的邮件进行重新发送同时能够记录下邮件的发送状态。

现有技术中,发件人获知需要重新发送邮件之后,首先要从已发送邮件中找到需要重新发送的邮件,然后通过其客户端上的发送功能重新发送邮件,该过程需要发件人手动参与,重发效率较低。



技术实现要素:

为克服现有技术中,对于漏发或者发送失败的邮件重新发送时需要发件人手动参与,重发效率较低的问题,提供一种一种邮件推送方法及系统。

根据本发明的一个方面,提供一种邮件推送方法,包括:

s1,获取邮件重发数据集,开启邮件重发线程;其中所述邮件重发数据集包含所有满足重发条件的邮件数据;

s2,在所述邮件重发线程中对所述邮件重发数据集中的邮件依次进行发送。

其中,所述步骤s1之前还包括:

构建邮件重发数据集,将满足重发条件的邮件存入所述邮件重发数据集。

其中,所述步骤s1之前还包括:

接收目标邮件对应的邮件发送状态数据,判断所述邮件发送状态数据满足重发条件,将所述目标邮件存入邮件重发数据集。

其中,所述邮件发送状态数据包括:邮件的发送状态,邮件的发送次数和邮件的上一次发送的时间。

其中,所述步骤s2之后还包括,根据本次邮件的发送状态,更新邮件数据。

其中,所述判断邮件数据满足重发条件具体为:

判断获知所述邮件数据中的发送状态为未发送或发送失败;

判断获知所述邮件数据中的发送次数少于预设发送次数;

判断获知所述邮件的上一次发送的时间在预设时间段内。

其中,所述步骤s2之后还包括:

判断获知所述重发数据集中所有的邮件状态都为发送成功或所有邮件的发送次数达到预设次数,则关闭所述邮件重发线程。

其中,所述步骤s2之后还包括:

判断获知所述重发数据集中的邮件发送状态为发送失败或发送次数少于预设次数,则重新执行s2

其中,所述步骤s1之前还包括,对所述邮件重发数据集进行检查,当所述邮件重发数据集中存在有待发送邮件时,执行步骤s1。

根据本发明的第二方面,提供一种邮件推送系统,包括:

触发器模块,用于获取邮件重发数据集,开启邮件重发线程;其中所述邮件重发数据集包含所有满足重发条件的邮件数据;

邮件发送模块,在所述邮件重发线程中对所述邮件重发数据集中的邮件依次进行发送。

本发明提出的一种邮件推送方法,对需要进行重新发送的邮件储存在邮件重发数据集中,当触发了邮件重发任务后开启一条邮件重发线程,对存储在邮件重发数据集中的数据进行重发操作,实现了对漏发或者发送失败需要重发的邮件进行自动推送,不需要发件人手动参与,提高了重发电子邮件的效率。

附图说明

图1为本发明一实施例提供的一种邮件推送方法的流程图;

图2为本发明另一实施例提供的一种邮件推送系统的结构图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

参考图1,图1为本发明一实施提供的一种漏发邮件推送方法的流程图,所述方法包括:

s1,获取邮件重发数据集,开启邮件重发线程;其中所述邮件重发数据集包含所有满足重发条件的邮件数据。

具体的,初始邮件发送时,无论是否成功,都有保存邮件信息到邮件历史表中,这也为邮件重发奠定了基础;在出现需要重新发送的邮件时,则将这些邮件储存在所述邮件重发数据集中,在需要进行对漏发的邮件进行推送的时候,首先接收重发邮件数据集,在接收到了邮件重发的数据集后,开启邮件重发线程,这里开启多线程的目的是,因为重发邮件可能是工作时间,如果单线程,那么势必会产生任务或操作等待,从而影响用户的使用。

s2,在所述邮件重发线程中对所述邮件重发数据集中的邮件依次进行发送。

具体的,当前线程任务是获取重发信息,发送邮件,其中获取到的重发信息即为重发数据集中的邮件,在数据集中可能存在有多件需要进行推送,则按照所述数据集中邮件的存储顺序,依次进行邮件推送。

通过此方法,对需要进行重新发送的邮件储存在邮件重发数据集中,当触发了邮件重发任务后开启一条邮件重发线程,对存储在邮件重发数据集中的数据进行重发操作,实现了对漏发或者发送失败需要重发的邮件进行自动推送,不需要发件人手动参与,提高了重发电子邮件的效率。

在上述实施例的基础上,所述步骤s1之前还包括:

构建邮件重发数据集,将满足重发条件的邮件存入所述邮件重发数据集。

其中,接收目标邮件对应的邮件发送状态数据,判断所述邮件发送状态数据满足重发条件,将所述目标邮件存入邮件重发数据集。

其中,所述邮件发送状态数据包括:邮件的发送状态,邮件的发送次数和邮件的上一次发送的时间。

具体的,首先要构建一个数据集,所述数据集用来储存所有在有效时间内符合重发条件的邮件数据。在系统发送邮件以后无论是否成功,都有保存邮件信息到邮件历史表中,其中储存的邮件信息包括邮件发送成功或失败的信息,邮件发送次数的信息,以及上一次邮件发送的时间信息。其中,发送状态为失败的邮件,作为需要进行重新推送的邮件信息,将该类邮件存储到邮件重发数据集中。

在上述实施例的基础上,所述判断邮件数据满足重发条件具体为:

判断获知所述邮件数据中的发送状态为未发送或发送失败;判断获知所述邮件数据中的发送次数少于预设发送次数;判断获知所述邮件的上一次发送的时间在预设时间段内。

具体的,触发邮件重发的条件包括三个,第一个是发送状态,其状态为未发送,即漏发的邮件,或者状态为发送失败的邮件,则可以进行重发,第二个条件为发送次数,首选预设一个预设邮件发送次数,当邮件发送次数小于预设次数的时候,则可以进行重发,当邮件发送次数大于预设次数的时候,则认为该邮件可能存在错误,无法发送,将该邮件从重发数据集中移除;第三个条件为邮件的发送时间,最后一次的发送时间在预设时间段内,则认为需要进行重发,这个时间段可以设置为最后一次发送时间的一周内,当在这个时间段内发送过的邮件才有必要推送,否则不会触发任务,防止过期邮件干扰。以上三个条件需要同时满足才会进行邮件重发,当有任意一个条件不满足时,邮件将从重发数据集中移除。

在上述各实施例的基础上,所述步骤s2之后还包括:

判断获知所述重发数据集中所有的邮件状态都为发送成功或所有邮件的发送次数达到预设次数,则关闭所述邮件重发线程。

具体的,当数据集中所有的邮件都不满足重发条件的时候,则关闭所述邮件重发的线程,邮件重发操作结束。

在上述各实施例的基础上,所述步骤s2之后还包括:判断获知所述重发数据集中的邮件发送状态为发送失败或发送次数少于预设次数,则重新执行s2。

具体的,在开启了邮件重发线程后,会对收到的重发数据集中的邮件进行重复发送,直至发送成功或发送次数达上限,其中,循环的终止条件包括:线程任务终止;邮件.发送成功;或邮件发送次数达上限。

在上述各实施例的基础上,所述步骤s1之前还包括,当所述邮件重发数据集中存在有待发送邮件时对所述邮件重发数据集进行检查,当所述邮件重发数据集中存在有待发送邮件时,执行步骤s1。

具体的,在执行邮件重发之前,会对邮件重发数据集进行检查,判定所述数据集中包含有需要重发的邮件,则会触发邮件重发动作,其中检查间隔可以进行设置,在每一个时间间隔后,对数据集进行一次检查,从而实现定期将累计到的需要重发的邮件进行批量的重发操作。

在本发明的另一实施例中,参考图2,图2为本发明另一实施例提供的一种邮件推送系统的结构图,所述系统包括:触发器模块21和邮件发送模块22。

其中,触发器模块21用于获取邮件重发数据集,开启邮件重发线程;其中所述邮件重发数据集包含所有满足重发条件的邮件数据。

具体的,初始邮件发送时,无论是否成功,都有保存邮件信息到邮件历史表中,这也为邮件重发奠定了基础;在出现需要重新发送的邮件时,则将这些邮件储存在所述邮件重发数据集中,在需要进行对漏发的邮件进行推送的时候,首先接收重发邮件数据集,在接收到了邮件重发的数据集后,开启邮件重发线程,这里开启多线程的目的是,因为重发邮件可能是工作时间,如果单线程,那么势必会产生任务或操作等待,从而影响用户的使用。

其中,邮件发送模块22,在所述邮件重发线程中对所述邮件重发数据集中的邮件依次进行发送。

具体的,当前线程任务是获取重发信息,发送邮件,其中获取到的重发信息即为重发数据集中的邮件,在数据集中可能存在有多件需要进行推送,则按照所述数据集中邮件的存储顺序,依次进行邮件推送。

通过此系统,对需要进行重新发送的邮件储存在邮件重发数据集中,当触发了邮件重发任务后开启一条邮件重发线程,对存储在邮件重发数据集中的数据进行重发操作,实现了对漏发或者发送失败需要重发的邮件进行自动推送,不需要发件人手动参与,提高了重发电子邮件的效率。

在上述实施例的基础上,还包括数据集构建模块,用于构建邮件重发数据集,将满足重发条件的邮件存入所述邮件重发数据集。

其中,接收目标邮件对应的邮件发送状态数据,判断所述邮件发送状态数据满足重发条件,将所述目标邮件存入邮件重发数据集。

其中,所述邮件发送状态数据包括:邮件的发送状态,邮件的发送次数和邮件的上一次发送的时间。

具体的,首先要构建一个数据集,所述数据集用来储存所有在有效时间内符合重发条件的邮件数据。在系统发送邮件以后无论是否成功,都有保存邮件信息到邮件历史表中,其中储存的邮件信息包括邮件发送成功或失败的信息,邮件发送次数的信息,以及上一次邮件发送的时间信息。其中,发送状态为失败的邮件,作为需要进行重新推送的邮件信息,将该类邮件存储到邮件重发数据集中。

触发邮件重发的条件包括三个,第一个是发送状态,其状态为未发送,即漏发的邮件,或者状态为发送失败的邮件,则可以进行重发,第二个条件为发送次数,首选预设一个预设邮件发送次数,当邮件发送次数小于预设次数的时候,则可以进行重发,当邮件发送次数大于预设次数的时候,则认为该邮件可能存在错误,无法发送,将该邮件从重发数据集中移除;第三个条件为邮件的发送时间,最后一次的发送时间在预设时间段内,则认为需要进行重发,这个时间段可以设置为最后一次发送时间的一周内,当在这个时间段内发送过的邮件才有必要推送,否则不会触发任务,防止过期邮件干扰。以上三个条件需要同时满足才会进行邮件重发,当有任意一个条件不满足时,邮件将从重发数据集中移除。

在开启了邮件重发线程后,会对收到的重发数据集中的邮件进行重复发送,直至发送成功或发送次数达上限,其中,循环的终止条件包括:线程任务终止;邮件.发送成功;或邮件发送次数达上限。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1