dcsimg
javax.mail.MessagingException: Connect failed;
0 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   jamil_ahmed
Posted On:   Thursday, December 1, 2011 06:06 AM

Please assist me. package org; public class Main { /** Creates a new instance of Main */ public Main() { } /** * @param args the command line arguments */ public static void main(String[] args) { try { ReceiveGmail receiveGmail = new ReceiveGmail(); // receiveGmail.setUserPass(" myemail@gmail.comThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it ", "mypassword"); receiveGmail.setUserPass("mymailid@gmail.com","321312"); receiveGmail.connect(); receiveGmail.openFolder("INBOX"); int totalMessages = receiveGmail.   More>>
			
Please assist me.

package org;

public class Main {

/** Creates a new instance of Main */
public Main() {
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

try {

ReceiveGmail receiveGmail = new ReceiveGmail();
// receiveGmail.setUserPass(" myemail@gmail.comThis e-mail address is being protected from spam bots, you need JavaScript enabled to view it ", "mypassword");
receiveGmail.setUserPass("mymailid@gmail.com","321312");
receiveGmail.connect();
receiveGmail.openFolder("INBOX");

int totalMessages = receiveGmail.getMessageCount();
int newMessages = receiveGmail.getNewMessageCount();

System.out.println("Total messages = " + totalMessages);
System.out.println("New messages = " + newMessages);
System.out.println("-------------------------------");

//gmail.printAllMessageEnvelopes();
receiveGmail.printAllMessages();

} catch(Exception e) {
e.printStackTrace();
System.exit(-1);
}

}

}

-----------------------------------------------------------
package org;
import com.sun.mail.pop3.POP3SSLStore;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.Properties;
import javax.mail.Address;
import javax.mail.FetchProfile;
import javax.mail.Flags;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Part;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.URLName;
import javax.mail.internet.ContentType;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.ParseException;

public class ReceiveGmail {

private Session session = null;
private Store store = null;
private String username, password;
private Folder folder;

public ReceiveGmail() {

}

public void setUserPass(String username, String password) {
this.username = username;
this.password = password;
}

public void connect() throws Exception {

String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

Properties pop3Props = new Properties();

pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
pop3Props.setProperty("mail.pop3.port", "995");
pop3Props.setProperty("mail.pop3.socketFactory.port", "995");

URLName url = new URLName("pop3", "pop.gmail.com", 995, "", username, password);

session = Session.getInstance(pop3Props, null);
store = new POP3SSLStore(session, url);
store.connect();

}

public void openFolder(String folderName) throws Exception {

// Open the Folder
folder = store.getDefaultFolder();

folder = folder.getFolder(folderName);

if (folder == null) {
throw new Exception("Invalid folder");
}

// try to open read/write and if that fails try read-only
try {

folder.open(Folder.READ_WRITE);

} catch (MessagingException ex) {

folder.open(Folder.READ_ONLY);

}
}

public void closeFolder() throws Exception {
folder.close(false);
}

public int getMessageCount() throws Exception {
return folder.getMessageCount();
}

public int getNewMessageCount() throws Exception {
return folder.getNewMessageCount();
}

public void disconnect() throws Exception {
store.close();
}

public void printMessage(int messageNo) throws Exception {
System.out.println("Getting message number: " + messageNo);

Message m = null;

try {
m = folder.getMessage(messageNo);
dumpPart(m);
} catch (IndexOutOfBoundsException iex) {
System.out.println("Message number out of range");
}
}

public void printAllMessageEnvelopes() throws Exception {

// Attributes & Flags for all messages ..
Message[] msgs = folder.getMessages();

// Use a suitable FetchProfile
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
folder.fetch(msgs, fp);

for (int i = 0; i < msgs.length; i++) {
System.out.println("--------------------------");
System.out.println("MESSAGE #" + (i + 1) + ":");
dumpEnvelope(msgs[i]);

}

}

public void printAllMessages() throws Exception {

// Attributes & Flags for all messages ..
Message[] msgs = folder.getMessages();

// Use a suitable FetchProfile
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
folder.fetch(msgs, fp);

for (int i = 0; i < msgs.length; i++) {
System.out.println("--------------------------");
System.out.println("MESSAGE #" + (i + 1) + ":");
dumpPart(msgs[i]);
}


}


public static void dumpPart(Part p) throws Exception {
if (p instanceof Message)
dumpEnvelope((Message)p);

String ct = p.getContentType();
try {
pr("CONTENT-TYPE: " + (new ContentType(ct)).toString());
} catch (ParseException pex) {
pr("BAD CONTENT-TYPE: " + ct);
}

/*
* Using isMimeType to determine the content type avoids
* fetching the actual content data until we need it.
*/
if (p.isMimeType("text/plain")) {
pr("This is plain text");
pr("---------------------------");
System.out.println((String)p.getContent());
} else {

// just a separator
pr("---------------------------");

}
}

public static void dumpEnvelope(Message m) throws Exception {
pr(" ");
Address[] a;
// FROM
if ((a = m.getFrom()) != null) {
for (int j = 0; j < a.length; j++)
pr("FROM: " + a[j].toString());
}

// TO
if ((a = m.getRecipients(Message.RecipientType.TO)) != null) {
for (int j = 0; j < a.length; j++) {
pr("TO: " + a[j].toString());
}
}

// SUBJECT
pr("SUBJECT: " + m.getSubject());

// DATE
Date d = m.getSentDate();
pr("SendDate: " +
(d != null ? d.toString() : "UNKNOWN"));


}

static String indentStr = " ";
static int level = 0;

/**
* Print a, possibly indented, string.
*/
public static void pr(String s) {

System.out.print(indentStr.substring(0, level * 2));
System.out.println(s);
}

}
-----------------------------------------------------------
when I run this code.
I am getting this error.

javax.mail.MessagingException: Connect failed;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:120)
at javax.mail.Service.connect(Service.java:233)
at javax.mail.Service.connect(Service.java:134)
at javax.mail.Service.connect(Service.java:86)
at org.ReceiveGmail.connect(ReceiveGmail.java:55)
at org.Main.main(Main.java:19)
-----------------------------------------------------------
Thanks in advance
   <<Less
About | Sitemap | Contact