תמיכה בפקודת IMAP IDLE והרחבות
Contents
[
Hide
]
תמיכה בפקודת IMAP Idle
Aspose.Email API ImapClient מספקת את היכולת לפתוח חיבור לשרת ולהמתין להגעת הודעת אימייל. זה מאפשר להימנע משאלת השרת שוב ושוב עבור כל אימייל נכנס. הקטע הקוד הבא מראה כיצד לתמוך בפקודת IMAP Idle.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Connect and log in to IMAP
ImapClient client = new ImapClient("imap.domain.com", "username", "password");
client.startMonitoring(new ImapMonitoringEventHandler() {
public void invoke(Object sender, ImapMonitoringEventArgs e) {
System.out.println(e.getNewMessages().length);
System.out.println(e.getDeletedMessages().length);
}
});
client.stopMonitoring("Inbox");
תמיכה בהרחבות IMAP
Aspose.Email API מספק תמיכה בהרחבות IMAP. ההרחבות הבאות של IMAP נתמכות על‑ידי ה‑API כעת. הרחבות אלו אינן נתמכות על‑ידי כל השרתים.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
final ImapClient client = new ImapClient("imap.gmail.com", 993, "username", "password");
try {
// Set SecurityOptions
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println(client.getIdSupported());
ImapIdentificationInfo serverIdentificationInfo1 = client.introduceClient();
ImapIdentificationInfo serverIdentificationInfo2 = client.introduceClient(ImapIdentificationInfo.getDefaultValue());
// Display ImapIdentificationInfo properties
System.out.println(serverIdentificationInfo1.toString() + serverIdentificationInfo2.toString());
System.out.println(serverIdentificationInfo1.getName());
System.out.println(serverIdentificationInfo1.getVendor());
System.out.println(serverIdentificationInfo1.getSupportUrl());
System.out.println(serverIdentificationInfo1.getVersion());
} finally {
if (client != null)
client.dispose();
}
פקודת רשימה מורחבת של IMAP4
קטע הקוד הבא מראה כיצד להשתמש בפקודת הרשימה המורחבת של IMAP4.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
final ImapClient client = new ImapClient("imap.gmail.com", 993, "username", "password");
try {
ImapFolderInfoCollection folderInfoCol = client.listFolders("*");
System.out.println("Extended List Supported: " + client.getExtendedListSupported());
for (ImapFolderInfo folderInfo : (Iterable<ImapFolderInfo>) folderInfoCol) {
if (folderInfo.getName().equals("[Gmail]/All Mail"))
System.out.println("Has Children: " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Bin"))
System.out.println("Bin has children? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Drafts"))
System.out.println("Drafts has children? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Important"))
System.out.println("Important has Children? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Sent Mail"))
System.out.println("Sent Mail has Children? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Spam"))
System.out.println("Spam has Children? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Starred"))
System.out.println("Starred has Children? " + folderInfo.hasChildren());
}
} finally {
if (client != null)
client.dispose();
}