javax邮件超出发送限制:SMTPSendFailedException
我正试图通过javaxmail的for循环发送500多封电子邮件-没有垃圾邮件,电子邮件地址是已知的并经过认证的 目的是在发送(Thread.sleep(…)之间有一点时间延迟(1-5秒),这样邮件就不会自动进入垃圾邮件文件夹。但经过一段时间的测试,将其发送到我自己的电子邮件地址后,我不断收到以下错误: com.sun.mail.smtp.SMTPSendFailedException:554 5.7.0您的邮件 无法发送。允许传出的邮件数的限制 已超出邮件数。请稍后再试 我正在使用我们自己的smtp服务器javax邮件超出发送限制:SMTPSendFailedException,java,smtp,jakarta-mail,Java,Smtp,Jakarta Mail,我正试图通过javaxmail的for循环发送500多封电子邮件-没有垃圾邮件,电子邮件地址是已知的并经过认证的 目的是在发送(Thread.sleep(…)之间有一点时间延迟(1-5秒),这样邮件就不会自动进入垃圾邮件文件夹。但经过一段时间的测试,将其发送到我自己的电子邮件地址后,我不断收到以下错误: com.sun.mail.smtp.SMTPSendFailedException:554 5.7.0您的邮件 无法发送。允许传出的邮件数的限制 已超出邮件数。请稍后再试 我正在使用我们自己的s
properties.setProperty("mail.smtp.auth", "true");
properties.setProperty("mail.smtp.host", host);
properties.setProperty("mail.smtp.port", "25");
我想知道“稍后再试”的时间跨度有多长
有人知道极限吗
另外,任何关于如何避免这种情况的建议都会很有帮助。在大多数情况下,你应该尽量避免那些群发邮件(垃圾邮件过滤器对大量邮件都有很强的辨别力),但在你的情况下,有一个更简单的答案。分布式邮件处理是首选,具有基于时间的限制率等 您可能遇到的问题是(正如errormsg所说)您试图超出您的发送邮件号码的限制。(您可以通过检查获取更多信息。)如果您将POSTFIX与policyd一起使用,下面是一个发送邮件限制配置的示例: 您可以通过重新配置SMTP服务器来“修复”此问题。尽管我的建议是(避免进入阻止列表)将整个电子邮件发送过程拆分为:
- 创建一个(n小时?)cron作业,该作业调用邮件发送者进程
- 在这个过程中,你应该有一个限制(例如:100),并尝试发送邮件
- 如果邮件已发送,则正常,否则下次运行cron时,您可以尝试重新发送邮件(使用最大重试次数和一些日志信息)
- 5.7.0无法发送您的邮件。超出了允许的传出邮件数的限制。请稍后再试
- 抱歉,您的邮件收件人太多
- 每小时最多可发送150条消息
- 每封邮件最多有99个收件人
自定义限制
,订阅限制
,域限制
和邮箱限制
将成功发送100条消息,但从101条消息开始
在同一小时内,Webmail将显示以下错误
资源链接:
这里有很多人都有同样的问题,并且有很多关于尝试过的许多解决方案的信息。 此外,这里还有一个指向批量发件人指南的链接:
554错误由收件人的SMTP服务器返回,该服务器具有某种垃圾邮件过滤器。我认为您需要查阅您自己的SMTP服务器的文档以获得此错误的答案。在现实中,虽然你不会向一个收件箱发送500封电子邮件,所以在现实中你可能不会有这个问题。。。还有,所有的邮件都一样吗?邮件中有个人问候语,但在其他方面都一样。我尝试发送到所有电子邮件地址,但在发送了几百封邮件后仍然出现错误