मैं जावामेल एपीआई की सहायता से आईएमएपी के माध्यम से जीमेल खातों से ईमेल तक पहुंचने का प्रयास कर रहा हूं। मैं सोच रहा था कि कोड एक ईमेल खाते के लिए क्यों काम करता है लेकिन दूसरे के लिए काम नहीं करता है।IMAP (javamail API) का उपयोग कर जीमेल से ईमेल एक्सेस करना
मैं दोनों ईमेल खातों के Inbox
फ़ोल्डर तक पहुंचने में सक्षम हूं। लेकिन ईमेल खातों में से एक के लिए, SPAM([Gmail]/Spam)
जैसे अन्य फ़ोल्डरों तक पहुंचा नहीं जा सकता है और यह FolderNotFoundException
अपवाद फेंकता है। क्या कोई यह बता सकता है कि क्या गलत हो रहा है?
अग्रिम धन्यवाद।
import java.io.*;
import java.util.*;
import javax.mail.*;
import javax.mail.Flags.Flag;
import javax.mail.internet.*;
import com.sun.mail.imap.IMAPFolder;
import com.sun.mail.imap.IMAPMessage;
public class FolderFetchIMAP {
public static void main(String[] args) throws MessagingException, IOException {
IMAPFolder folder = null;
Store store = null;
String subject = null;
Flag flag = null;
try
{
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imaps");
Session session = Session.getDefaultInstance(props, null);
store = session.getStore("imaps");
store.connect("imap.googlemail.com","[email protected]", "password");
folder = (IMAPFolder) store.getFolder("[Gmail]/Spam"); // This doesn't work for other email account
//folder = (IMAPFolder) store.getFolder("inbox"); This works for both email account
if(!folder.isOpen())
folder.open(Folder.READ_WRITE);
Message[] messages = folder.getMessages();
System.out.println("No of Messages : " + folder.getMessageCount());
System.out.println("No of Unread Messages : " + folder.getUnreadMessageCount());
System.out.println(messages.length);
for (int i=0; i < messages.length;i++)
{
System.out.println("*****************************************************************************");
System.out.println("MESSAGE " + (i + 1) + ":");
Message msg = messages[i];
//System.out.println(msg.getMessageNumber());
//Object String;
//System.out.println(folder.getUID(msg)
subject = msg.getSubject();
System.out.println("Subject: " + subject);
System.out.println("From: " + msg.getFrom()[0]);
System.out.println("To: "+msg.getAllRecipients()[0]);
System.out.println("Date: "+msg.getReceivedDate());
System.out.println("Size: "+msg.getSize());
System.out.println(msg.getFlags());
System.out.println("Body: \n"+ msg.getContent());
System.out.println(msg.getContentType());
}
}
finally
{
if (folder != null && folder.isOpen()) { folder.close(true); }
if (store != null) { store.close(); }
}
}
}
वाह। यह काम! :-) –
धन्यवाद आदमी। :-) – kukis