电子邮件发送方法及系统技术方案

技术编号:9312841 阅读:186 留言:0更新日期:2013-11-06 19:02
本发明专利技术公开了一种电子邮件发送方法及系统,所述方法包括:电子邮件发送系统的邮件分发模块每隔设定时间段,依次从待发送队列获取待发送的电子邮件进行处理:对于当前处理的电子邮件,在确定对应于该电子邮件的接收邮件服务器的发送队列未满的情况下,且在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数小于针对该发信人与该接收邮件服务器所设置的次数上限值后,将该电子邮件存入到对应所述接收邮件服务器的发送队列中;电子邮件发送系统的邮件发送模块每隔设定时间段,从各发送队列中获取电子邮件向对应接收邮件服务器进行发送。从而,减少了退信数量,提高了电子邮件的发送成功率。

【技术实现步骤摘要】
电子邮件发送方法及系统
本专利技术涉及互联网领域,尤其涉及一种电子邮件发送方法及系统。
技术介绍
电子邮件(electronicmail)是一种用电子手段提供信息交换的通信方式,是Internet(互联网)应用最广的服务;通过网络的电子邮件发送系统,用户可以快速、低廉的方式与其他网络用户联系。电子邮件发送过程通常为:邮件服务器接收到发信人由客户端发送的邮件信息后,对接收的邮件信息进行检查,若检查不符合邮件标准则返回页面信息提示用户重写;若检查符合邮件标准,则将接收的邮件信息格式化处理成电子邮件。为便于描述,本文中将接收邮件信息、并生成电子邮件的邮件服务器简称为发送邮件服务器。发送邮件服务器向该电子邮件的发信人的地址所在的邮件服务器发送该电子邮件;为便于描述,本文中将电子邮件的发信人的地址所在的邮件服务器简称为接收邮件服务器。接收邮件服务器为了避免受到邮件攻击,或者接收过多的垃圾文件而导致系统的崩溃,通常都会设置一个单位时间接收邮件次数的上限;如果接收邮件服务器在单位时间内接收某个发信人的邮件次数达到了该上限,则接收邮件服务器将拒收该发信人后续发送的邮件。然而,在实际应用中,经常会有电子邮件因为接收邮件服务器设置的单位时间接收邮件次数的上限而被拒收、退回到发送邮件服务器;从而导致发送邮件服务器邮件发送成功率降低,退信数量较高,以致加重发送邮件服务器的处理负担,并降低了发送邮件服务器发送电子邮件的效率。而且,拒收的电子邮件通常会被发送邮件服务器放到发送队列的队尾等待下次发送;在进行下次发送时,有可能接收邮件服务器仍处于拒收该电子邮件的状态,并触发更高级的限制——对该电子邮件的发信人延长拒收时间。这样就会导致该电子邮件被发送邮件服务器反复地发送、被接收邮件服务器反复拒收;更浪费了发送邮件服务器的资源,使得发送邮件服务器发送电子邮件的效率低。因此,有必要提供一种退信数量少、具有更高发送成功率的电子邮件发送方法。
技术实现思路
针对上述现有技术存在的缺陷,本专利技术提供了一种电子邮件发送方法及系统,用以提高电子邮件的发送成功率。根据本专利技术的一个方面,提供了一种电子邮件发送方法,包括:电子邮件发送系统的邮件分发模块每隔设定时间段,依次从待发送队列获取待发送的电子邮件进行处理:对于当前处理的电子邮件,所述邮件分发模块在确定对应于该电子邮件的接收邮件服务器的发送队列未满的情况下,在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数;若查找到的次数小于针对该发信人与该接收邮件服务器所设置的次数上限值,则将该电子邮件存入到对应所述接收邮件服务器的发送队列中;以及所述电子邮件发送系统的邮件发送模块每隔设定时间段,从各发送队列中获取电子邮件向对应接收邮件服务器进行发送;其中,发送一个电子邮件的过程包括:所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1后,发送该电子邮件。进一步,在所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,还包括:若所述邮件发送模块确定所述缓存模块中没有存储针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数,则生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量,并初始化该变量的值为0后,将其存储到所述缓存模块中。较佳地,所述生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量,具体包括:所述邮件发送模块生成一个变量,该变量的名称由该电子邮件的发信人的信息、该电子邮件的接收邮件服务器的信息,以及所述单位时间的信息依据设定规则所组成;以及所述在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数,具体包括:所述邮件分发模块对于所述当前处理的电子邮件,确定出所述当前处理的电子邮件的发信人信息、接收邮件服务器的信息,将确定出的发信人信息、接收邮件服务器的信息,以及所述单位时间的信息依据设定规则组成一个变量名称后,在所述缓存模块中查找该变量名称所对应的变量的值;以及所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1,具体包括:所述邮件发送模块对于当前获取的电子邮件,确定出所述当前获取的电子邮件的发信人信息、接收邮件服务器的信息,将确定出的发信人信息、接收邮件服务器的信息,以及所述单位时间的信息依据设定规则组成一个变量名称后,将所述缓存模块中该变量名称所对应的变量的值加1。或者,所述在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数,具体包括:所述邮件分发模块对于所述当前处理的电子邮件,确定出对应该电子邮件的接收邮件服务器的单位时间后,在所述缓存模块中查找到针对该电子邮件的发信人所统计的、在确定出的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数;以及所述生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量,具体包括:所述邮件发送模块确定出对应该电子邮件的接收邮件服务器的单位时间后,生成针对该电子邮件的发信人所统计的、在确定出的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量;以及所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1,具体包括:所述邮件发送模块对于当前获取的电子邮件,确定出对应所述当前获取的电子邮件的接收邮件服务器的单位时间后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的、在确定出的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1。较佳地,在所述生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量后,还包括:所述缓存模块对于由所述邮件发送模块生成的变量,根据该变量的变量名称中的单位时间,维护该变量的生命周期;并在该变量的生命周期终止时,删除该变量。较佳地,在所述发送该电子邮件后,还包括:若该电子邮件发送失败,所述邮件发送模块获取到该电子邮件发送失败的原因为该电子邮件的发信人单位时间内发送邮件次数超过限制,则将针对该电子邮件的发信人与接收邮件服务器所设置的次数上限值,修改为所述缓存模块中当前存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数。根据本专利技术的另一个方面,还提供了一种电子邮件发送系统,包括:邮件分发模块和缓存模块,所述邮件分发模块用于每隔设定时间段,依次从待发送队列获取待发送的电子邮件进行处理:对于当前处理的电子邮件,所述邮件分发模块在确定对应接收邮件服务器的发送队列未满的情况下,在所述缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数;若查找到的次数小于针对该发信人与该接收邮件服务器所本文档来自技高网
...
电子邮件发送方法及系统

【技术保护点】
一种电子邮件发送方法,其特征在于,包括:电子邮件发送系统的邮件分发模块每隔设定时间段,依次从待发送队列获取待发送的电子邮件进行处理:对于当前处理的电子邮件,所述邮件分发模块在确定对应于该电子邮件的接收邮件服务器的发送队列未满的情况下,在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数;若查找到的次数小于针对该发信人与该接收邮件服务器所设置的次数上限值,则将该电子邮件存入到对应所述接收邮件服务器的发送队列中;以及所述电子邮件发送系统的邮件发送模块每隔设定时间段,从各发送队列中获取电子邮件向对应于该电子邮件的接收邮件服务器进行发送;其中,发送一个电子邮件的过程包括:所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1后,发送该电子邮件。

【技术特征摘要】
1.一种电子邮件发送方法,其特征在于,包括:电子邮件发送系统的邮件分发模块每隔设定时间段,依次从待发送队列获取待发送的电子邮件进行处理:对于当前处理的电子邮件,所述邮件分发模块在确定对应于该电子邮件的接收邮件服务器的发送队列未满的情况下,在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数;若查找到的次数小于针对该发信人与该接收邮件服务器所设置的次数上限值,则将该电子邮件存入到对应所述接收邮件服务器的发送队列中;以及所述电子邮件发送系统的邮件发送模块每隔设定时间段,从各发送队列中获取电子邮件向对应于该电子邮件的接收邮件服务器进行发送;其中,发送一个电子邮件的过程包括:所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1后,发送该电子邮件。2.如权利要求1所述的方法,其特征在于,在所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,还包括:若所述邮件发送模块确定所述缓存模块中没有存储针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数,则生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量,并初始化该变量的值为0后,将其存储到所述缓存模块中。3.如权利要求2所述的方法,其特征在于,所述生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量,具体包括:所述邮件发送模块生成一个变量,该变量的名称由该电子邮件的发信人的信息、该电子邮件的接收邮件服务器的信息,以及所述单位时间的信息依据设定规则所组成;以及所述在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数,具体包括:所述邮件分发模块对于所述当前处理的电子邮件,确定出所述当前处理的电子邮件的发信人信息、接收邮件服务器的信息,将确定出的发信人信息、接收邮件服务器的信息,以及所述单位时间的信息依据设定规则组成一个变量名称后,在所述缓存模块中查找该变量名称所对应的变量的值;以及所述邮件发送模块从其中一个发送队列中获取一个电子邮件后,将所述缓存模块中存储的针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数加1,具体包括:所述邮件发送模块对于当前获取的电子邮件,确定出所述当前获取的电子邮件的发信人信息、接收邮件服务器的信息,将确定出的发信人信息、接收邮件服务器的信息,以及所述单位时间的信息依据设定规则组成一个变量名称后,将所述缓存模块中该变量名称所对应的变量的值加1。4.如权利要求3所述的方法,其特征在于,所述在缓存模块中查找到针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数,具体包括:所述邮件分发模块对于所述当前处理的电子邮件,确定出对应该电子邮件的接收邮件服务器的单位时间后,在所述缓存模块中查找到针对该电子邮件的发信人所统计的、在确定出的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数;以及所述生成针对该电子邮件的发信人所统计的单位时间内发送邮件到该电子邮件的接收邮件服务器的次数的变量,具体包括:所述邮件发送模块确定出对应该电子邮件的接收邮件服务器的单位时间后,生成针对该电子邮件的发信人所统计的、在确定出的单位时间内发...

【专利技术属性】
技术研发人员:张亮
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1