Dukungan untuk Perintah IMAP IDLE dan Ekstensi
Contents
[
Hide
]
Dukungan untuk Perintah IMAP Idle
API Aspose.Email ImapClient menyediakan kemampuan untuk membuka koneksi ke server dan menunggu kedatangan pesan email. Ini memungkinkan menghindari polling server berulang-ulang untuk email yang masuk. Potongan kode berikut menunjukkan cara Mendukung Perintah 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");
Dukungan untuk Ekstensi IMAP
API Aspose.Email menyediakan dukungan untuk ekstensi IMAP. Ekstensi IMAP berikut didukung oleh API saat ini. Ekstensi IMAP ini tidak didukung oleh semua server.
// 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();
}
Perintah Daftar Diperluas IMAP4
Potongan kode berikut menunjukkan cara menggunakan perintah daftar diperluas 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();
}