我们今天发现,对于我们的两个客户,JavaMail 没有进行身份验证,因此我们的产品无法发送电子邮件。多年来,我们一直通过自己的服务器以及其他几个客户发送电子邮件,我们认为我们对所有这些都使用了身份验证。
代码如下:
transport = session.getTransport("smtp");
transport.connect(hostName, port, user, password);
根据此处的文档,如果我们使用这种形式的 connect() 方法,JavaMail 应该使用身份验证。我们没有设置任何属性,但如果我正确阅读该页面,我们就不需要。
我们正在使用 JBoss 4.2.1.GA 中的 mail.jar。
我们需要做些什么不同的事情?
更新:如果我在该文档页面上使用其他方法(设置 mail.smtp.auth 属性并提供 Authenticator),身份验证最终会起作用。但是我们用这种方法做错了什么?