代码之家  ›  专栏  ›  技术社区  ›  s_t_e_v_e

密件抄送收件人数量限制

  •  4
  • s_t_e_v_e  · 技术社区  · 15 年前

    我有一个程序生成和发送电子邮件。收件人列表可以获得1000个以上。我一直在循环发送个人邮件,但每次都花了太长时间,大约0.5秒。我现在研究的方法是删除邮件正文中的自定义项,并发送一封包含密件抄送中心所有地址的电子邮件。(可能还有其他的解决方案,我对此表示欢迎,但我主要感兴趣的是深入研究bcc解决方案的复杂性。)

    一封电子邮件允许的收件人数量有限制吗?这完全取决于我的电子邮件客户端和/或SMTP服务器的配置吗?是否有其他限制超出我的域控制范围?此外,如何处理密件抄送?我假设在某个时候,密件抄送需要分解成单独的邮件。邮件客户端(在我的例子中是javax.mail)对此负责,还是邮件服务器负责?

    我还对如何测试我的新电子邮件爆炸程序的建议感兴趣?

    我不认为在谷歌或其他地方创建1000个账户是一个有效的测试(我也不想)。我听说有一些针对同一主机上多个收件人的邮件服务器优化。在我看来,大多数都是不同的宿主。

    另一种方法是让所有收件人都参与进来,看看他们是否收到了电子邮件。我可以这样做,但我想避免垃圾邮件,假设我可能需要多次测试,如果事情不顺利的第一次。

    或者我只是假设了一些限制,并且发送了一批邮件,每个邮件的收件人数都是任意的,比如说50或100?

    3 回复  |  直到 9 年前
        1
  •  3
  •   Seb    15 年前

    密件抄送在您的SMTP服务器内工作;没有收件人知道其他密件抄送电子邮件地址,因此这是一个完全依赖于您的SMTP服务器的限制。

    您应该与服务器管理员联系。

        2
  •  2
  •   thepip3r    15 年前

    更确切地说,涵盖smtp(2821)的rfc没有提到邮件服务器特定限制之外的收件人限制:

    “如果smtp服务器对rcpt的数量有实现限制 命令和此限制已用尽,它必须使用 452(但如前所述,客户还应准备552 以上)。如果服务器对 rcpt命令的数目,它可以使用5xx响应代码。 如果政策限制是有意的,这将是最合适的 如果特定邮件正文的收件人总数 即使该邮件正文是通过多封邮件发送的,也会强制执行 交易。”

    http://www.ietf.org/rfc/rfc2821.txt

        3
  •  1
  •   s_t_e_v_e    15 年前

    谢谢你的评论。据我现在所知,传出的smtp服务器将负责分解每个邮件。在构造新邮件时,传出的SMTP服务器将只向每个BCC收件人的命令发送适用的RCPT。因此,在所有收件人都是密件抄送的情况下,每个邮件只有一个rcpt to命令。

    既然如此,我似乎真的只需要关心我们的外发smtp服务器配置。无需担心目标SMTP服务器。

    我得到一个建议,似乎是测试这个的好方法。我可以将消息发送给多个收件人,每个收件人都有一个有效父域的唯一伪子域。找不到子项的MX记录时,将使用父项。传出的SMTP服务器将不知道不存在伪域,因此这应避免对具有公共域的多个收件人进行任何SMTP优化。我们还可以配置这些邮件都将被路由到同一个收件箱。