package com.aspose.email.examples.exchangeews;
import com.aspose.email.ImapClient;
import com.aspose.email.ImapFolderInfo;
import com.aspose.email.ImapMessageInfo;
import com.aspose.email.ImapMessageInfoCollection;
import com.aspose.email.MailMessage;
import com.aspose.email.SaveOptions;
import com.aspose.email.examples.Utils;
import com.aspose.email.examples.email.AddAndRetrieveAttachmentFromCalendarItems;
public class ConnectToExchangeServerUsingIMAP {
// The path to the resource directory.
public static String dataDir = Utils.getSharedDataDir(AddAndRetrieveAttachmentFromCalendarItems.class) + "exchange/";
public static void main(String[] args) {
connectToExchangeServerUsingIMAP();
useMessageInfoObjectSequenceNumberToSaveAMessage();
}
public static void connectToExchangeServerUsingIMAP() {
// Connect to Exchange Server using ImapClient class
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
// Select the Inbox folder
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Get the list of messages
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
System.out.println(msgInfo.getSubject());
}
}
public static void useMessageInfoObjectSequenceNumberToSaveAMessage() {
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");
imapClient.selectFolder(ImapFolderInfo.IN_BOX);
// Get the list of messages
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
//Fetch the message from Inbox using its SequenceNumber from msgInfo
MailMessage msg = imapClient.fetchMessage(msgInfo.getSequenceNumber());
//Save the message to disc now
msg.save(dataDir + msgInfo.getSequenceNumber() + ".msg", SaveOptions.getDefaultMsgUnicode());
}
}
}