我正在尝试使用Java Mail API从XXX域读取电子邮件。我可以通过服务器上的PUTTY使用IMAPS协议登录和阅读电子邮件。
但是从Java中,我收到验证错误:
以下是我可以通过PUTTY连接的屏幕截图:
以下是我的代码:
Properties properties = new Properties();
properties.put("mail.imap.host", "hostname");
properties.put("mail.imap.port", "993");
Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("username", "password");
}
});
Store store = session.getStore("imaps");
store.connect("username", "password");
是什么使它停止从Java读取邮件?
内部,邮件域正在使用Outlook Exchange服务器。
正在传递的用户名是完整的xxxx@domain.com。
答案 0 :(得分:0)
您可以删除属性设置;由于您使用的是imaps,因此它们无效。您可以get rid of the Authenticator,因为您要明确传递用户名和密码。
还需要显式传递主机,否则它将连接到localhost,这可能是失败的原因。查看JavaMail debug output以了解其实际作用。如果那不能解决您的问题,请发布调试输出。