Soporte para el comando IMAP IDLE y extensiones
Contents
[
Hide
]
Soporte para el comando IMAP Idle
API de Aspose.Email ImapClient proporciona la capacidad de abrir una conexión al servidor y esperar la llegada de un mensaje de correo electrónico. Esto permite evitar sondear el servidor una y otra vez para cualquier correo entrante. El siguiente fragmento de código muestra cómo soportar el comando 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");
Soporte para extensiones IMAP
La API Aspose.Email brinda soporte para extensiones IMAP. Las siguientes extensiones IMAP son compatibles con la API en la actualidad. Estas extensiones IMAP no son compatibles con todos los servidores.
// 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();
}
Comando de lista extendida IMAP4
El siguiente fragmento de código le muestra cómo usar el comando de lista extendida 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();
}