当我通过Javamail发送电子邮件时,为什么gmail会关闭我的连接

时间:2010-07-27 15:09:17

标签: java gmail javamail

我有一个进程(Message Driven Bean),每次收到邮件时都会发送电子邮件。每条消息的电子邮件小于10.我打开1个与我的Gmail帐户的连接,并通过该一个连接发送所有电子邮件。我时不时地在Transport.send()

上得到一个例外
    javax.mail.MessagingException: Can't send command to SMTP host; nested exception is:    
    java.net.SocketException: Connection closed by remote host at
    com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1878) at 
    com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1865) at 
    com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:973) at 
    javax.mail.Transport.send0(Transport.java:193) at 
    javax.mail.Transport.send(Transport.java:120) at 
....

gmail是否关闭了连接,因为它认为它是垃圾邮件?我知道gmail(10)的并发连接数有限制,但这似乎有所不同。使用连接池会有帮助吗?

1 个答案:

答案 0 :(得分:0)

Gmail在您的TCP / IP连接上超时并决定关闭它,或者两者之间的防火墙检测到该连接处于空闲状态并将其关闭。