我有一个进程(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)的并发连接数有限制,但这似乎有所不同。使用连接池会有帮助吗?
答案 0 :(得分:0)
Gmail在您的TCP / IP连接上超时并决定关闭它,或者两者之间的防火墙检测到该连接处于空闲状态并将其关闭。