我有一个奇怪的问题,我似乎无法解决。:(我有一个发送电子邮件的基于 Web 的应用程序。它通过连接在本地网络上设置的基于 Windows 的 SMTP 服务器来实现。这个 SMTP 服务器不需要我的代码中的用户名或密码来发送电子邮件. 一天的大部分时间,有时一周的大部分时间,一切都运行良好,发送电子邮件,用户很高兴。然后不知从何而来,无缘无故,我开始在我的日志中看到异常,它说:
javax.mail.AuthenticationFailedException: failed to connect, no password specified?
at javax.mail.Service.connect(Service.java:398)
at javax.mail.Service.connect(Service.java:245)
at javax.mail.Service.connect(Service.java:194)
at javax.mail.Transport.send0(Transport.java:253)
at javax.mail.Transport.send(Transport.java:124)
Run Code Online (Sandbox Code Playgroud)
我将我的 java 邮件 jar 升级到最新版本,我猜这几天被称为 javax.mail.far。我们运行的是 Tomcat 7 和 Windows Server 2008R2,邮件服务器是微软的。
我不明白为什么这有时会起作用,但后来又无缘无故地停止了。但我真正想做的是解决这个问题,使其不再出现。如果有人以前见过这样的事情并且有任何想法,我很乐意听到他们。这是发送电子邮件的 Java 代码:
Properties props = System.getProperties();
if (mailhost != null)
props.setProperty("mail.smtp.host", mailhost);
// Get a Session object
Session session = Session.getDefaultInstance(props);
// Output the email in the log window
session.setDebug(true);
// construct the message
Message msg = new MimeMessage(session);
if …Run Code Online (Sandbox Code Playgroud)