一种邮件发送方法及装置的制造方法

文档序号:8265521阅读:259来源:国知局
一种邮件发送方法及装置的制造方法
【技术领域】
[0001] 本申请涉及互联网通讯领域,尤其涉及一种邮件发送方法及装置。
【背景技术】
[0002] 目前,在进行各种注册验证时,通常会通过向用户发送电子邮件或者手机短信来 进行是否是相关使用者的验证,多数的邮件系统中,都会利用贝叶斯垃圾分类算法对邮件 进行反垃圾检测,如果用同一个发送邮箱频繁的给同一个账号发送邮件的话,邮件系统会 将该邮箱发送的邮件归类为垃圾邮件或直接进行拦截,在这种情况下,用户就无法在收件 箱收到进行验证的邮件,将给用户造成很大的不便;另一方面,邮箱运营商为了安全,会对 同一个账号发往邮箱服务器的频度和次数做限制,对于邮箱的企业用户来说,若使用同一 账户频繁地发送邮件,则可能会被邮箱运营商屏蔽,造成邮件发送系统的不正常使用。
[0003] 因此,针对现有技术中存在的上述技术问题,需要提出改进的邮件发送方案。

【发明内容】

[0004] 本申请的主要目的在于提供一种邮件发送方法及装置,以解决现有技术存在的同 一发送邮箱频繁向同一账号发送邮件,导致所发送的邮件被归类为垃圾邮件,以及使用同 一账户频繁地发送邮件,可能会被邮箱服务器屏蔽的问题。
[0005] 为解决上述问题,本申请实施例提供一种邮件发送方法,包括:将接收到的邮件发 送请求加入邮件发送队列;获取所述邮件发送队列中当前待发送的邮件发送请求;从多个 邮件发送账号中确定用于发送当前待发送的邮件发送请求的发送账号;通过所述发送账 号,将所述邮件发送请求发送到接收邮箱账号对应的邮件服务器,以请求所述邮件服务器 根据所述邮件发送请求向所述接收邮箱账号发送邮件。
[0006] 其中,所述邮件发送请求中包含:邮件标题、接收邮箱账号、邮件正文、附件以及邮 件编码格式。
[0007] 进一步地,从多个邮件发送账号中确定用于发送当前待发送的邮件发送请求的发 送账号,包括:根据所述多个邮件发送账号对应的服务器的权重和已发送的邮件发送请求 数,确定用于发送当前待发送的邮件发送请求的发送账号。
[0008] 进一步地,根据所述多个邮件发送账号对应的服务器的权重和已发送的邮件发送 请求数,确定用于发送当前待发送的邮件发送请求的发送账号,进一步包括:将所述多个邮 件发送账号中,所对应的服务器的权重与已发送的邮件发送请求数的比值最小的邮件发送 账号,确定为用于发送当前待发送的邮件发送请求的发送账号。
[0009] 进一步地,通过所述发送账号,将所述邮件发送请求发送到接收邮箱账号对应的 邮件服务器,包括:获取所述发送账号对应的邮箱配置,根据所述邮箱配置登录所述发送账 号,将所述邮件发送请求发送到接收邮箱账号对应的邮件服务器,所述邮箱配置包括:账 号、服务器地址、端口、密码。
[0010] 本申请实施例还提供一种邮件发送装置,包括:加入模块,用于将接收到的邮件发 送请求加入邮件发送队列;获取模块,用于获取所述邮件发送队列中当前待发送的邮件发 送请求;确定模块,用于从多个邮件发送账号中确定用于发送当前待发送的邮件发送请求 的发送账号;发送模块,用于通过所述发送账号,将所述邮件发送请求发送到接收邮箱账号 对应的邮件服务器,以请求所述邮件服务器根据所述邮件发送请求向所述接收邮箱账号发 送邮件。
[0011] 其中,所述邮件发送请求中包含:邮件标题、接收邮箱账号、邮件正文、附件、以及 邮件编码格式。
[0012] 进一步地,所述确定模块,进一步用于:根据所述多个邮件发送账号对应的服务 器的权重和已发送的邮件发送请求数,确定用于发送当前待发送的邮件发送请求的发送账 号。
[0013] 进一步地,所述确定模块,进一步用于:将所述多个邮件发送账号中所对应的服务 器的权重与已发送的邮件发送请求数的比值最小的邮件发送账号,确定为用于发送当前待 发送的邮件发送请求的发送账号。
[0014] 进一步地,所述发送模块包括:获取子模块,用于获取所述发送账号对应的邮箱配 置;发送子模块,用于根据所述邮箱配置登录所述发送账号,将所述邮件发送请求发送到接 收邮箱账号对应的邮件服务器,所述邮箱配置包括:账号、服务器地址、端口、密码。
[0015] 与现有技术相比,本申请可以获得包括以下技术效果:
[0016] (1)采用邮件发送队列的方式,将接收到的邮件发送请求加入邮件发送队列,可以 在发送时依次从邮件发送队列中取出当前待发送的邮件发送请求,避免并发的发送行为。
[0017] (2)通过在预先设置的多个邮件发送账号中确定对当前待发送的邮件发送请求进 行发送的最佳发送账号,防止邮箱运营商对同一个账号的多频度发送行为的限制。
[0018] (3)根据服务器的权值和当前已经发送的邮件发送请求数,确定对当前待发送的 邮件发送请求进行发送的最佳发送服务器,进而确定预先设置的多个邮件发送账号中对当 前待发送的邮件发送请求进行发送的最佳发送账号,能够实现动态账号切换。
【附图说明】
[0019] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申 请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0020] 图1是本申请实施例一提供的邮件发送方法的流程图;
[0021] 图2是本申请实施例二提供的邮件发送方法的流程图;
[0022] 图3是本申请实施例三提供的邮件发送装置的结构框图;以及
[0023] 图4是本申请实施例四提供的邮件发送装置的结构框图。
【具体实施方式】
[0024] 本申请的主要思想在于,设置多个邮件发送账号,通过确定多个邮件发送账号中 对当前待发送的邮件发送请求进行发送的发送账号,以防止邮箱运营商对同一个账号的多 频度发送行为的限制,并采用邮件发送队列缓存邮件发送请求,以减少并发的发送行为。
[0025] 以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用 技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0026] 如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员 应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以 名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在 通篇说明书及权利要求当中所提及的"包含"为一开放式用语,故应解释成"包含但不限定 于"。"大致"是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所 述技术问题,基本达到所述技术效果。此外,"耦接"一词在此包含任何直接及间接的电性 耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电 性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说 明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目 的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。还 需要说明的是,术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使 得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要 素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句 "包括一个……"限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相 同要素。
[0027] 实施例一
[0028] 图1是根据本申请实施例一的邮件发送方法的流程图,如图1所示,该方法至少可 以包括:
[0029] 步骤S101,将接收到的邮件发送请求加入邮件发送队列。
[0030] 将接收到的邮件发送请求加入邮件发送队列,可以在发送时依次从邮件发送队列 中取出待发送的邮件发送请求,避免并发的发送行为。例如,可以将接收到的邮件发送请求 加入Redis邮件发送队列。
[0031] 其中,该邮件发送请求可以为来自外部服务器的发送邮件的发送请求,例如,用户 注册某一应用账号时,该应用的服务器向请求注册的用户的邮箱发送验证邮件的邮件发送 请求。所述邮件发送请求中可以包含:邮件标题、接收邮箱账号、邮件正文、附件以及邮件编 码格式等。
[0032] 根据本申请,将接收到的邮件发送请求加入邮件发送队列后,还可以对加入队列 的邮件进行排队,例如,可以根据邮件发送请求加入邮件发送队列的顺序和/或邮件发送 请求中的指定发送时间对加入邮件发送队列的邮件发送请求进行排队。
[0033] 步骤S102,获取所述邮件发送队列中当前待发送的邮件发送请求。
[0034] 具体而言,加入邮件发送队列中的邮件发送请求会按照一定的顺序进行排队,即, 待发送的邮件发送请求的发送顺序,因此,可以按照发送顺序(队列中邮件发送请求的排 队顺序)获取邮件发送队列中当前待发送的邮件发送请求,即依次获取发送顺序排在最前 的邮件发送请求。
[0035] 步骤S103,从多个邮件发送账号中确定用于发送当前待发送的邮件发送请求的发 送账号。
[0036] 其中,多个邮件发送账号可以为预先设置的多个不同的邮件发送账号,多个邮件 发送账号可组成多邮件发送账号集群。该多个邮件发送账号,可以为多个不同邮件发送服 务器下的邮件发送账号。
[0037] 具体地,可以根据所述多个邮件发送账号对应的服务器的权重和已发送的邮件发 送请求数,确定用于发送当前待发送的邮件发送请求的发送账号,也就是说,根据所述多个 邮件发送账号各自对应的服务器的权重和已发送的邮件发送请求数,确定对当前待发送的 邮件发送请求进行发送的最佳发送服务器,再获取该最佳发送服务器下相应的邮件发送账 号。其中,所述多个邮件发送账号对应的服务器的权重可以根据该服务器的不同处理能力 例如性能、发送量、链路条件等进行预先设置,例如,性能越好、发送量越大的服务器权值设 置得越高;已发送的邮件发送请求数,即,通过该服务器已经发送的邮件发送请求数。
[0038] 确定当前待发送的邮件发送请求的发送账号后,则接下来可以执行步骤S104。
[0039] 步骤S104,通过所述发送账号,将所述邮件发送请求发送到接收邮箱账号对应的 邮件服务器,以请求所述邮件服务器根据所述邮件发送请求向所述接收邮箱账号发送邮 件。
[0040] 具体而言,通过该确定的发送账号将当前待发送的邮件发送请求发送到接收邮箱 账号对应的邮件服务器后,该对应的邮件服务器接收到该邮件发送请求,则根据该邮件发 送请求包含的邮件标题、接收邮箱账号、邮件正文、附件以及邮件编码格式等向所述
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1