I need to connect to a Microsoft Exchange Server through IMAPS JavaMail. First, I got the:
A1 NO AUTHENTICATE failed.
javax.mail.AuthenticationFailedExcepti
You need to use a newer version of JavaMail that supports NTLM authentication. The latest version is 1.5.1.
Also, see this list of common mistakes.
It will workout if the username and the mail id both are same.
For example: system username is john and mail id john@test.com
IMAP is try to login the mail id using the username "john" from john@test.com, if the user id is differ it will not login.
Try using your own Authenticator
public class ExchangeAuthenticator extends Authenticator {
String username;
String password;
public ExchangeAuthenticator(String username, String password) {
super();
this.username= username;
this.password= password;
}
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
and in your code add
session = Session.getInstance(props,new ExchangeAuthenticator(username, password));