I'm connecting to a MS Exchange server (internally) but I'm getting the following error:
........Non SSL........
POP3: connecting to host "xxxx.xxx.com", port 110
S: +OK Microsoft Exchange POP3 server version 5.5.2658.25 ready
C: USER xxxx.xxxxx@xxx.com
S: +OK
C: PASS
S: -ERR Logon failure: unknown user name or bad password.
C: QUIT
S: +OK Microsoft Exchange POP3 server version 5.5.2658.25 signing off
test2 :: javax.mail.AuthenticationFailedException: Logon failure: unknown user name or bad password.
I can get my email using Outlook because I don't have to provide a password to connect. So I left it blank in my program but I still can't
login. Does this mean that I need to use the authenticator class?
Here's the code I'm using to connect:
public class ListMailSubjectLines
{
private static void ListMailSubjectsLines()
{
try
{
Properties pop3Props = new Properties();
Session session = null;
Store store = null;
pop3Props.put("mail.pop3.host","xxxx.xxx.com");
pop3Props.put("mail.user","xxxxx.xxx@xxx.com");
pop3Props.setProperty("mail.passwd","");
// String host = "";
// String username = "";
// String password = "";
if((pop3Props.getProperty("mail.pop3.ssl") != null) && (pop3Props.getProperty("mail.pop3.ssl").equalsIgnoreCase("true")))
{
System.out.println("........SSL........");
String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
String portStr = ((pop3Props.getProperty("mail.pop3.port") != null) ? pop3Props.getProperty("mail.pop3.port") : "110");
pop3Props.setProperty("mail.pop3.port", portStr);
pop3Props.setProperty("mail.pop3.socketFactory.port", portStr);
URLName url = new URLName("pop3://"+pop3Props.getProperty("mail.user")+":"+pop3Props.getProperty("mail.passwd")+"@"+pop3Props.getProperty("mail.host")+":"+pop3Props.getProperty("mail.pop3.port"));
session = Session.getInstance(pop3Props, null);
store = new POP3SSLStore(session, url);
}
else
{
System.out.println("........Non SSL........");
session = Session.getInstance(pop3Props, null);
store = session.getStore("pop3");
}
session.setDebug(true);
store.connect(pop3Props.getProperty("mail.host"), pop3Props.getProperty("mail.user"), pop3Props.getProperty("mail.passwd"));
//store.connect(host, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message[] Msgs = folder.getMessages();
for(int i = 0; i < Msgs.length; i++)
{
System.out.println(Msgs.getSubject());
}
folder.close(true);
store.close();
System.out.println(Msgs[0].getSubject() + "test");
}
catch(NoSuchProviderException ec)
{
System.out.println("test1");
}
catch(MessagingException em)
{
System.out.println("\ntest2 :: " + em);
}
}
public static void main( String args[] )
{
ListMailSubjectsLines();
}
}
Thanks,
ls6