A H*_*ard 5 java smtp jakarta-mail
我正在尝试使用 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");
Run Code Online (Sandbox Code Playgroud)
我想知道“稍后再试”的时间间隔是多长?
有谁知道极限吗?
此外,任何如何避免这种情况的建议都会有所帮助。
在大多数情况下,您应该尽量避免群发邮件(无论如何,垃圾邮件过滤器对大量邮件都具有很大的歧视性),但在您的情况下,有一个更简单的答案。首选分布式邮件处理,具有基于时间的限制率等。
您可能遇到的问题是(如错误消息所述)您试图超出外发邮件数量的限制。(您可以通过检查getCommand 和 getReturnCode来获取更多信息。)如果您使用带有策略的 POSTFIX,这里是外发邮件限制配置的示例:
您可以通过重新配置 SMTP 服务器来“修复”此问题。尽管我的建议是(为了避免进入阻止列表)拆分整个电子邮件发送过程:
在大多数情况下,这些限制是为了您自身的安全。如果出现软件错误等,这些可以防止您进入黑名单。
| 归档时间: |
|
| 查看次数: |
7820 次 |
| 最近记录: |