【问题标题】:javax mail exceeding sending limit : SMTPSendFailedExceptionjavax 邮件超出发送限制:SMTPSendFailedException
【发布时间】:2016-12-03 08:22:32
【问题描述】:

我正在尝试使用 javaxmail 通过 for 循环发送 500 多封电子邮件 - 没有垃圾邮件,电子邮件地址是已知且经过认证的。

目的是在发送 (Thread.sleep(...)) 之间有一点时间延迟(1 - 5 秒),因此邮件不会自动进入垃圾邮件文件夹。但是在通过将其发送到我自己的电子邮件地址进行测试后,我不断收到此错误:

com.sun.mail.smtp.SMTPSendFailedException: 554 5.7.0 您的消息 无法发送。允许出局数限制 消息已超出。请稍后再试。

我正在使用我们自己的 smtp 服务器。

    properties.setProperty("mail.smtp.auth", "true");
    properties.setProperty("mail.smtp.host", host);
    properties.setProperty("mail.smtp.port", "25");

我想知道“稍后再试”的时间跨度是多久?

有人知道上限吗?

任何如何避免这种情况的建议都会有所帮助。

【问题讨论】:

  • 收件人的 SMTP 服务器返回 554 错误,该服务器具有某种垃圾邮件过滤器。
  • 我认为您需要查阅您自己的 SMTP 服务器的文档以获得此问题的答案。实际上,虽然您不会将 500 封电子邮件发送到一个收件箱,但实际上您可能不会遇到这个问题......另外,所有电子邮件都一样吗?
  • 邮件在消息中有个人问候语,但除此之外它们是相同的。我尝试发送到所有电子邮件地址,但在数百封邮件后仍然收到错误

标签: java smtp jakarta-mail


【解决方案1】:

在大多数情况下,您应该尽量避免发送大量邮件(无论如何,垃圾邮件过滤器对大量邮件都有相当大的鉴别力),但在您的情况下,有一个更简单的答案。分布式邮件处理是首选,具有基于时间的限制率等。

您可能遇到的问题是(正如 errormsg 所说)您试图超出外发邮件号码的限制。 (您可以通过检查getCommand and getReturnCode 获得更多信息。)如果您使用带有策略的 POSTFIX,这里是外发邮件限制配置的示例:

http://wiki.policyd.org/accounting?s[]=limit

您可以通过重新配置 SMTP 服务器来“解决”这个问题。尽管我的建议是(避免进入黑名单)拆分您的整个电子邮件发送流程

  • 创建一个(n 小时一次?)cron 作业来调用邮件发件人进程
  • 在此过程中,您应该有一个限制(例如:100)并尝试发送邮件
  • 如果邮件已发送,则正常,否则下次运行 cron 时,您可以尝试重新发送(使用最大数量的重试和一些日志信息)

在大多数情况下,这些限制是为了您自己的安全。如果发生软件错误等,这些会阻止您进入黑名单。

【讨论】:

    【解决方案2】:

    如果您超出用户的电子邮件发送限制,您可能会看到如下错误消息:

    • 5.7.0 您的消息无法发送。超出了允许的传出消息数量的限制。请稍后再试。
    • 抱歉,您的邮件收件人过多。

    为了保持系统健康和您的帐户安全,用户可以发送的邮件数量是有限的。限制限制每小时发送的邮件数和每封邮件的收件人数。达到这些限制之一后,用户无法发送新邮件,但他们仍然可以访问自己的帐户并接收传入的电子邮件。

    当前电子邮件限制

    • 每小时最多 150 条消息。
    • 每封邮件最多 99 个收件人。

    各种 ISP 提供商都有限制。您可以从这里查看:SMTP Sending Limit and Email Rate Limits for ISPs - Verizon, Comcast, EarthLink, etc

    Plesk Documentation,你会得到Custom Limits for Service PlansLimits for SubscriptionsLimits for DomainsLimits for Mailboxes

    100条消息将发送成功,但从101条消息开始 在同一小时内,Webmail 将显示以下错误。

    资源链接:

    How outgoing messages limit works?

    【讨论】:

      【解决方案3】:

      这里有很多人遇到同样的问题,并且尝试了许多解决方案的大量信息。 https://productforums.google.com/forum/#!topic/gmail/yrEDNJ3fChs

      这里还有一个批量发件人指南的链接: https://support.google.com/mail/answer/81126?hl=en

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-28
        • 2014-06-13
        • 1970-01-01
        • 2021-03-14
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 2018-08-09
        相关资源
        最近更新 更多