一种邮件投递策略自动调整方法、装置及存储介质与流程

文档序号:21638551发布日期:2020-07-29 02:49阅读:254来源:国知局
一种邮件投递策略自动调整方法、装置及存储介质与流程

本发明涉及邮件服务技术领域,尤其涉及一种邮件投递策略自动调整方法、装置及存储介质。



背景技术:

邮件由发信服务器投递至收信服务器,是通过简单邮件传输协议(smtp,simplemailtransferprotocol,简称smtp)进行传输的。因此,邮件投递的实际过程是两个smtp服务器通信的过程。邮件由发信服务器投递至收信服务器,其中最关键的环节是发送端的smtp服务器连接接收端smtp服务器的过程,只有保证这两个服务器的流畅通信,才能基本保证信件正常投递到收件人的收件箱。

一般来说,为保证smtp服务器正常、稳定的运行,smtp服务器会通过许多技术手段拦截外部的非法连接请求(如短时间内的高频请求可能导致smtp服务器资源被大量占用,无法对外提供正常服务),而且根据邮件服务器自身拥有的资源、处理的方式等不同因素,每个域名所限制的发送频率,频率重置间隔可能会不一样。

现有的邮件投递策略动态调整方法为通过在发信客户端和发信服务器之间架设一个代理服务器,通过超文本传输协议(http,hypertexttransferprotocol)将邮件发送到代理服务器,对于不符合阈值或规则的用户或邮件,就直接拒绝发送该邮件。

使用现有的邮件投递策略动态调整方法,存在以下问题:

拒绝方式过于强硬,容易误拦截某些正常业务信件,从而降低邮件投递的成功率,进而造成邮件通信不便。



技术实现要素:

本发明实施例提供的一种邮件投递策略自动调整方法、装置及存储介质,能够有效提高进行投递邮件时的投递成功率,从而有效提高邮件通信的成功率。

为解决上述问题,一方面,本发明的一个实施例提供了一种邮件投递策略自动调整方法,包括:

设置发信端服务器的投递策略参数;所述投递策略参数包括:同时保持的连接阈值、每分钟smtp连接数阈值、每分钟发送收件人阈值和每分钟发送流量阈值;

所述发信端服务器根据预设的时间周期对所述投递策略参数进行统计,并根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制;

若否,则建立所述收信端服务器与所述发信端服务器的连接,将所述发信端服务器的待投递邮件投递至所述收信端服务器,并对所述投递策略参数进行调整;

若是,所述发信端服务器根据所述响应信息调整所述投递策略参数,得到更新投递策略参数,并将所述发信端服务器的待投递邮件加入到待投递队列中;

所述发信端服务器根据所述更新投递策略参数将所述待投递队列中的待投递邮件投递至所述收信端服务器。

进一步地,所述发信端服务器根据预设的时间周期对所述投递策略参数进行统计,并根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制,包括:

在第n分钟执行smtp连接时,根据所述响应信息判断smtp连接是否成功;若连接成功,将所述每分钟smtp连接数阈值增加1,并在n+1分钟投递时增加投递连接数;若连接失败并根据响应信息判断为连接数过多导致触发所述收信服务器连接数限制,则将所述每分钟smtp连接数阈值减少1,并在n+1分钟进行投递时减少投递连接数或自动切换投递时使用的ip。

进一步地,建立所述收信端服务器与所述发信端服务器的连接,将所述发信端服务器的待投递邮件投递至所述收信端服务器,并对所述投递策略参数进行调整,具体为:

建立所述收信端服务器与所述发信端服务器的连接,将所述发信端服务器的待投递邮件投递至所述收信端服务器,并增加所述投递策略参数中的同时保持的连接阈值。

进一步地,所述发信端服务器根据所述响应信息调整所述投递策略参数,得到更新投递策略参数,并将所述发信端服务器的待投递邮件加入到待投递队列中,包括:

若触发了流量限制,则在预设的时间段内暂停向所述收信端服务器投递邮件,并将所述发信端服务器的待投递邮件加入到待投递队列中;

若触发了每分钟连接数限制,则减少所述投递策略参数中的同时保持的连接阈值,并将所述发信端服务器的待投递邮件加入到待投递队列中。

另一方面,本发明的另一实施例提供了一种邮件投递策略自动调整装置,包括设置模块、判断模块、第一参数调整模块、第二参数调整模块和投递模块;

所述设置模块,用于设置发信端服务器的投递策略参数;所述投递策略参数包括:同时保持的连接阈值、每分钟smtp连接数阈值、每分钟发送收件人阈值和每分钟发送流量阈值;

所述判断模块,用于所述发信端服务器根据预设的时间周期对所述投递策略参数进行统计,并根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制;

所述第一参数调整模块,用于建立所述收信端服务器与所述发信端服务器的连接,将所述发信端服务器的待投递邮件投递至所述收信端服务器,并对所述投递策略参数进行调整;

所述第二参数调整模块,用于所述发信端服务器根据所述响应信息调整所述投递策略参数,得到更新投递策略参数,并将所述发信端服务器的待投递邮件加入到待投递队列中;

所述投递模块,用于所述发信端服务器根据所述更新投递策略参数将所述待投递队列中的待投递邮件投递至所述收信端服务器。

进一步地,所述判断模块,包括:

在第n分钟执行smtp连接时,根据所述响应信息判断smtp连接是否成功;若连接成功,将所述每分钟smtp连接数阈值增加1,并在n+1分钟投递时增加投递连接数;若连接失败并根据响应信息判断为连接数过多导致触发所述收信服务器连接数限制,则将所述每分钟smtp连接数阈值减少1,并在n+1分钟进行投递时减少投递连接数或自动切换投递时使用的ip。

进一步地,第一参数调整模块,具体用于:

建立所述收信端服务器与所述发信端服务器的连接,将所述发信端服务器的待投递邮件投递至所述收信端服务器,并增加所述投递策略参数中的同时保持的连接阈值。

进一步地,所述第二参数调整模块,具体用于:

若触发了流量限制,则在预设的时间段内暂停向所述收信端服务器投递邮件,并将所述发信端服务器的待投递邮件加入到待投递队列中;

若触发了每分钟连接数限制,则减少所述投递策略参数中的同时保持的连接阈值,并将所述发信端服务器的待投递邮件加入到待投递队列中。

又一方面,本发明的另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的邮件投递策略自动调整方法。

本发明实施例提供的一种邮件投递策略自动调整方法、装置及存储介质,通过设置发信端服务器的投递策略参数,在发信端服务器进行邮件投递时,发信端服务器通过对所述投递策略参数进行统计,并在投递时根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制,使发信端服务器根据收信端服务器返回的响应信息调整投递策略参数;同时将投递失败的邮件加入到待投递梯队列中,在下一次投递时使用调整后的投递策略参数重新进行投递,能够无需人工干预自动调整投递策略参数,保证邮件的投递成功率;且在单次大批量投递任务执行时,能够有效提高邮件投递到不同收信端服务器的成功率,同时有效减少人工维护投递频率策略的成本。

附图说明

图1是本发明实施例提供的一种邮件投递策略自动调整方法的流程示意图;

图2是本发明实施例提供的一种邮件投递策略自动调整装置的结构示例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1:

本发明的第一实施例。

本发明实施例提供了一种邮件投递策略自动调整方法,包括:

s1、设置发信端服务器的投递策略参数;投递策略参数包括:同时保持的连接阈值、每分钟smtp连接数阈值、每分钟发送收件人阈值和每分钟发送流量阈值;

s2、发信端服务器根据预设的时间周期对投递策略参数进行统计,并根据收信端服务器的响应信息判断发信端服务器的投递策略参数是否触发收信端服务器的限制;

在本发明实施例中,可以理解的是,收信端服务器的响应信息包括响应码,在发信端服务器向收信端服务器投递邮件时,收信端服务器会返回响应码至发信端服务器,发信端服务器通过对响应码进行解析即可判断本次连接是否成功以及是否触发了收信端服务器的限制,其中,收信端服务器的限制包括:流量限制、每分钟连接数限制和每分钟发送收件人限制等。

s3、若否,则建立收信端服务器与发信端服务器的连接,将发信端服务器的待投递邮件投递至收信端服务器,并对投递策略参数进行调整;

s4、若是,发信端服务器根据响应信息调整投递策略参数,得到更新投递策略参数,并将发信端服务器的待投递邮件加入到待投递队列中;

s5、发信端服务器根据更新投递策略参数将待投递队列中的待投递邮件投递至收信端服务器。

在本发明实施例中,通过设置发信端服务器的投递策略参数,在发信端服务器进行邮件投递时,发信端服务器根据收信端服务器的响应信息对投递策略参数进行统计,并在投递时根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制,使发信端服务器根据收信端服务器返回的响应信息调整投递策略参数;同时将投递失败的邮件加入到待投递梯队列中,在下一次投递时使用调整后的投递策略参数重新进行投递,能够无需人工干预自动调整投递策略参数,保证邮件的投递成功率;且在单次大批量投递任务执行时,能够有效提高邮件投递到不同收信端服务器的成功率,同时有效减少人工维护投递频率策略的成本。

作为本发明实施例的一种具体实施方式,响应信息包括每分钟smtp指令数,发信端服务器根据预设的时间周期对投递策略参数进行统计,并根据收信端服务器的响应信息判断发信端服务器的投递策略参数是否触发收信端服务器的限制,包括:

在第n分钟执行smtp连接时,根据响应信息判断smtp连接是否成功;若连接成功,将每分钟smtp连接数阈值增加1,并在n+1分钟投递时增加投递连接数;若连接失败并根据响应信息判断为连接数过多导致触发收信服务器连接数限制,则将每分钟smtp连接数阈值减少1,并在n+1分钟进行投递时减少投递连接数或自动切换投递时使用的ip。

在本发明实施例中,响应信息包括收信端服务器根据本次邮件投递返回来的响应码,响应信息通过对不同的响应码进行解析,得到本次连接的结果。

作为本发明实施例的一种具体实施方式,建立收信端服务器与发信端服务器的连接,将发信端服务器的待投递邮件投递至收信端服务器,并对投递策略参数进行调整,具体为:

建立收信端服务器与发信端服务器的连接,将发信端服务器的待投递邮件投递至收信端服务器,并增加投递策略参数中的同时保持的连接阈值。

在本发明实施例中,通过对投递策略参数不断进行调整,能够使得投递策略参数接近收信端服务器的上限数,从而能够有效提高资源的利用率。

作为本发明实施例的一种具体实施方式,发信端服务器根据响应信息调整投递策略参数,得到更新投递策略参数,并将发信端服务器的待投递邮件加入到待投递队列中,包括:

若触发了流量限制,则在预设的时间段内暂停向收信端服务器投递邮件,并将发信端服务器的待投递邮件加入到待投递队列中;

若触发了每分钟连接数限制,则减少投递策略参数中的同时保持的连接阈值,并将发信端服务器的待投递邮件加入到待投递队列中。

在本发明实施例中,当判断到本次邮件投递触发了收信端服务器的限制时,发信端服务器投递的邮件投递失败,将投递失败的邮件放入到待投递梯队列中,并对其进行标记,在主投递任务完成后,根据调整后的投递策略参数进行重新投递,当邮件的标记次数达到预设值时,则判定邮件投递失败。本发明实施例通过将投递失败的邮件加入到待投递梯队列中,并不断更改投递策略参数,多次尝试重新投递,能够有效避免因为暂时的限制导致的投递失败情况发生,有利于提高整体投递任务的成功率。

本发明实施例中,当触发了流量限制时,可以设置在15分钟内暂停对收信端服务器的投递任务,并将发信端服务器的待投递邮件加入到待投递队列中,等待收信端服务器的流量限制接触后继续执行投递。

实施本发明实施例,具有以下有益效果:

本发明实施例通过设置发信端服务器的投递策略参数,在发信端服务器进行邮件投递时,发信端服务器根据收信端服务器的响应信息对投递策略参数进行统计,并在投递时根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制,使发信端服务器根据收信端服务器返回的响应信息调整投递策略参数;同时将投递失败的邮件加入到待投递梯队列中,在下一次投递时使用调整后的投递策略参数重新进行投递,能够无需人工干预自动调整投递策略参数,从而保证邮件的投递成功率;且在单次大批量投递任务执行时,能够有效提高邮件投递到不同收信端服务器的成功率,同时有效减少人工维护投递频率策略的成本。

本发明实施例发信端服务器能够实时接收收信端服务器的响应信息,并能够根据收信端服务器的响应信息自动调整投递策略参数,有利于利用smtp的中继特性,将大量投递任务与正常投递任务的收发信分离,能够有效降低因为大量投递触发限制过多,而误认为发信端服务器为恶意ip的情况发生,从而能够有效提高邮件投递的成功率。

请参阅图2:

本发明的第二实施例。

本发明实施例提供了一种邮件投递策略自动调整装置,包括设置模块10、判断模块20、第一参数调整模块30、第二参数调整模块40和投递模块50;

设置模块10,用于设置发信端服务器的投递策略参数;投递策略参数包括:同时保持的连接阈值、每分钟smtp连接数阈值、每分钟发送收件人阈值和每分钟发送流量阈值;

判断模块20,用于所述发信端服务器根据预设的时间周期对所述投递策略参数进行统计,并根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制;

在本发明实施例中,可以理解的是,收信端服务器的响应信息通常为响应码,在发信端服务器向收信端服务器投递邮件时,收信端服务器会返回响应码至发信端服务器,发信端服务器通过对响应码进行解析即可判断本次投递是否出发了收信端服务器的限制,其中,收信端服务器的限制包括:流量限制、每分钟连接数限制和每分钟发送收件人限制等。

第一参数调整模块30,用于建立收信端服务器与发信端服务器的连接,将发信端服务器的待投递邮件投递至收信端服务器,并对投递策略参数进行调整;

第二参数调整模块40,发信端服务器根据响应信息调整投递策略参数,得到更新投递策略参数,并将发信端服务器的待投递邮件加入到待投递队列中;

投递模块50,用于发信端服务器根据更新投递策略参数将待投递队列中的待投递邮件投递至收信端服务器。

在本发明实施例中,通过设置发信端服务器的投递策略参数,在发信端服务器进行邮件投递时,发信端服务器根据收信端服务器的响应信息对投递策略参数进行统计,并在投递时根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制,使发信端服务器根据收信端服务器返回的响应信息调整投递策略参数;同时将投递失败的邮件加入到待投递梯队列中,在下一次投递时使用调整后的投递策略参数重新进行投递,能够无需人工干预自动调整投递策略参数,保证邮件的投递成功率;且在单次大批量投递任务执行时,能够有效提高邮件投递到不同收信端服务器的成功率,同时有效减少人工维护投递频率策略的成本。

作为本发明实施例的一种具体实施方式,判断模块20,包括:

在第n分钟执行smtp连接时,根据响应信息判断smtp连接是否成功;若连接成功,将每分钟smtp连接数阈值增加1,并在n+1分钟投递时增加投递连接数;若连接失败并根据响应信息判断为连接数过多导致触发收信服务器连接数限制,则将每分钟smtp连接数阈值减少1,并在n+1分钟进行投递时减少投递连接数或自动切换投递时使用的ip。

在本发明实施例中,响应信息包括收信端服务器根据本次邮件投递返回来的响应码,响应信息通过对不同的响应码进行解析,得到本次连接的结果。

作为本发明实施例的一种具体实施方式,第一参数调整模块30,具体用于:

建立收信端服务器与发信端服务器的连接,将发信端服务器的待投递邮件投递至收信端服务器,并增加投递策略参数中的同时保持的连接阈值。

在本发明实施例中,通过对投递策略参数不断进行调整,能够使得投递策略参数接近收信端服务器的上限数,从而能够有效提高资源的利用率。

作为本发明实施例的一种具体实施方式,第二参数调整模块40,具体用于:

若触发了流量限制,则在预设的时间段内暂停向收信端服务器投递邮件,并将发信端服务器的待投递邮件加入到待投递队列中;

若触发了每分钟连接数限制,则减少投递策略参数中的同时保持的连接阈值,并将发信端服务器的待投递邮件加入到待投递队列中。

在本发明实施例中,当触发了收信端服务器的限制时,发信端服务器发送的邮件投递失败,将投递失败的邮件放入到待投递梯队列中,并对其进行标记,在主投递任务完成后,根据调整后的投递策略参数进行重新投递,当邮件的标记次数达到预设值时,则判定邮件投递失败。本发明实施例通过将投递失败的邮件加入到待投递梯队列中,并不断更改投递策略参数,多次尝试重新投递,能够有效避免因为暂时的限制导致的投递失败情况发生,有利于提高整体投递任务的成功率。

本发明实施例中,当触发了流量限制时,可以设置在15分钟内暂停对收信端服务器的投递任务,并将发信端服务器的待投递邮件加入到待投递队列中,等待收信端服务器的流量限制接触后继续执行投递。

实施本发明实施例,具有以下有益效果:

本发明实施例通过设置发信端服务器的投递策略参数,在发信端服务器进行邮件投递时,发信端服务器根据收信端服务器的响应信息对投递策略参数进行统计,并在投递时根据收信端服务器的响应信息判断所述发信端服务器的投递策略参数是否触发所述收信端服务器的限制,使发信端服务器根据收信端服务器返回的响应信息调整投递策略参数;同时将投递失败的邮件加入到待投递梯队列中,在下一次投递时使用调整后的投递策略参数重新进行投递,能够无需人工干预自动调整投递策略参数,从而保证邮件的投递成功率;且在单次大批量投递任务执行时,能够有效提高邮件投递到不同收信端服务器的成功率,同时有效减少人工维护投递频率策略的成本。

本发明实施例收信端服务器能够实时接收收信端服务器的响应信息,并能够根据收信端服务器的响应信息自动调整投递策略参数,有利于利用smtp的中继特性,将大量投递任务与正常投递任务的收发信分离,能够有效降低因为大量投递触发限制过多,而误认为发信端服务器为恶意ip的情况发生,从而能够有效提高邮件投递的成功率。

本发明的第三实施例提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行如上述的邮件投递策略自动调整方法。

以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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