Posted By:
Naga_Raju
Posted On:
Thursday, November 24, 2005 07:30 AM
hi friend,
I also faced this kind of problem with Gmail.
Reason for this is Gmail is more secure than the others.
Gmail using SSL Factory(SecureSocketLayer) to secure their
Mail users.
For this reason you have to first authenticate with the
Gmail pop3 server using SSL.In that class you will get
a class named Authenticator.Using this call u can
authenticate yourself to Gmail.
try this code:
***************
import com.sun.mail.pop3.POP3SSLStore;
import javax.mail.URLName;
try{
Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3.user", args[1]);
pop3Props.setProperty("mail.pop3.passwd", args[2]);
pop3Props.setProperty("mail.pop3.ssl", "true");
pop3Props.setProperty("mail.pop3.host", args[0]);
Session session = null;
Store store = null;
String user = ((pop3Props.getProperty("mail.pop3.user") != null) ? pop3Props.getProperty("mail.pop3.user") : pop3Props.getProperty("mail.user"));
String passwd = ((pop3Props.getProperty("mail.pop3.passwd") != null) ? pop3Props.getProperty("mail.pop3.passwd") : pop3Props.getProperty("mail.passwd"));
String host = ((pop3Props.getProperty("mail.pop3.host") != null) ? pop3Props.getProperty("mail.pop3.host") : pop3Props.getProperty("mail.host"));
if((pop3Props.getProperty("mail.pop3.ssl") != null) && (pop3Props.getProperty("mail.pop3.ssl").equalsIgnoreCase("true"))){
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") : "995");
pop3Props.setProperty("mail.pop3.port", portStr);
pop3Props.setProperty("mail.pop3.socketFactory.port", portStr);
URLName url = new URLName("pop3://"+user+":"+passwd+"@"+host+":"+pop3Props.getProperty("mail.pop3.port"));
session = Session.getInstance(pop3Props, null);
store = new POP3SSLStore(session, url);
}
else{
session = Session.getInstance(pop3Props, null);
store = session.getStore("pop3");
}
//session.setDebug(true);
store.connect(host,user, passwd);
try this code you will definetely get the solution.
Regards
*******
Nagaraju G