其实是有些邮箱服务商为了避免别人乱发广告而加了一个需要密码验证
// 这样才能通过验证
props.setProperty("mail.smtp.auth", "true");
我同学尝试着用循环发送邮件,其实到最后只收到一封,而且发多了会报
javax.mail.MessagingException: Can't send command to SMTP host;
nested exception is:
java.net.SocketException: Software caused connection abort: socket write error
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1420)
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1408)
at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1358)
at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:836)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)
at javax.mail.Service.connect(Service.java:297)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at com.zhaipuhong.j2ee.jmail.HelloJMail.sendMail(HelloJMail.java:53)
at com.zhaipuhong.j2ee.jmail.HelloJMail.main(HelloJMail.java:61)
Caused by: java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1418)
... 11 more
原载于:
联动北方
全文:
http://bbs.landingbj.com/t-0-248609-1.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30029358/viewspace-1361023/
,如需转载,请注明出处,否则将追究法律责任。