北方弓箭手

使用JavaMail访问Gmail已经有一段时间了,一直都很正常。可是这周用JavaMail发送邮件的时候,邮件可以正常的发送出去,但是总是抛下面的异常,妨碍后面的程序执行:
javax.mail.MessagingException: Exception reading response;
  nested exception is:
javax.net.ssl.SSLException: Unsupported record version Unknown-50.49
at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1598)
at com.sun.mail.smtp.SMTPTransport.close(SMTPTransport.java:685)
at javax.mail.Transport.send0(Transport.java:171)
at javax.mail.Transport.send(Transport.java:98)

反复实验,都是这样,在同事的机器上也是这个样子,只能捕获这个类别的异常,采取回避的策略了,可是这样的程序看起来很另类。

邮件能够发送,那么这个异常肯定是在关闭连接的时候,或者是执行清理操作时候引发的。查了些资料,增加如下的设置,程序就可以正常的运行了:
props.put("mail.smtp.quitwait", "false");

原因:设置为false,退出命令会立即发送,连接也会立即关闭。
posted on 2007-07-20 15:11 尕豆 阅读(1494) 评论(1) 编辑 收藏

Feedback

写得不错,我也遇到相同的问题了,按照你的方法解决了
 回复 引用