gpt4 book ai didi

Java邮件错误: SMTPAddressFailedException: 450 too many connections from your IP (rate controlled)

转载 作者:行者123 更新时间:2023-12-02 04:51:40 25 4
gpt4 key购买 nike

我有一个 Spring 4.1.1 Web 应用程序,用户可以在其中设置一些计划任务。当这些任务完成后,管理员将收到一封使用 SMTP 方法发送的自动电子邮件。

对于电子邮件,我使用 jar:javax.mail-api-1.5.2.jar 和 mail-1.5.0-b01.jar

电子邮件一开始发送正确,但是当任务频率最终上升时,我开始出现以下异常,并且所有后续电子邮件都会失败。我可以在 10 分钟内发送大约 30 封电子邮件。

com.sun.mail.smtp.SMTPAddressFailedException: 450 too many connections from your IP (rate controlled)

at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1862)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1118)
at com.synaptic.email.MessageMail.sendMessage(MessageMail.java:152)
at com.synaptic.email.EmailManagerImpl.sendGeneralEmail(EmailManagerImpl.java:423)

我发送电子邮件的代码片段是:

    public void sendMessage(Brand brand, String timeout) throws MessagingException
{
try {
// Prepare message
Properties props = new Properties();

props.put("mail.smtp.host", mailHost);
props.put("mail.smtp.connectiontimeout", timeout);
props.put("mail.smtp.timeout", timeout);
props.put("mail.smtp.writetimeout", timeout);
props.put("mail.smtp.port", Integer.parseInt(brand.getBrandProperties().getEmailPort()));

Session session = Session.getInstance(props);
message = new MimeMessage(session);
createMessage();

if (brand.getBrandProperties().getEmailUsername().isEmpty() && brand.getBrandProperties().getEmailPassword().isEmpty()) {
// Send email message to SMTP server without auth
Transport.send(message);
} else {
// Send message with auth
Transport.send(message,brand.getBrandProperties().getEmailUsername(),brand.getBrandProperties().getEmailPassword());
}
} catch (MessagingException e) {
log.error("Failed to send email message.", e);
throw e;
}
}

从javamail文档和源代码看来,传输连接在finally语句上关闭,所以没有连接应该保持打开状态,但我仍然遇到了这个异常。

我上网查了一下,但找不到增加此限制的方法。

我发送消息时是否做错了什么?有没有办法监控电子邮件连接?或者是电子邮件服务器问题?

最佳答案

您的服务器告诉您在太短的时间内建立了太多连接。它对您进行速率限制,以防止您滥用服务器。您可能需要支付更高质量的服务才能发送更多消息。请联系您的 ISP 了解详细信息。

顺便说一句,您说您正在使用 javax.mail-api-1.5.2.jar 和 mail-1.5.0-b01.jar。你不应该像这样混合和匹配版本。您只需要一个 jar 文件 - javax.mail-1.5.2.jar 文件。您可以通过 JavaMail project page 获取它.

关于Java邮件错误: SMTPAddressFailedException: 450 too many connections from your IP (rate controlled),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29171247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com