Suporte para o Comando IMAP IDLE e Extensões
Contents
[
Hide
]
Suporte para o Comando IMAP Idle
A API Aspose.Email ImapClient fornece a capacidade de abrir uma conexão com o servidor e aguardar a chegada de uma mensagem de email. Isso evita a necessidade de verificar o servidor repetidamente por qualquer email recebido. O seguinte trecho de código mostra como suportar o Comando IMAP Idle.
// Para exemplos completos e arquivos de dados, por favor vá para https://github.com/aspose-email/Aspose.Email-for-Java
// Conectar e fazer login no 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");
Suporte para Extensões IMAP
A API Aspose.Email oferece suporte para extensões IMAP. As seguintes extensões IMAP são suportadas pela API no momento. Essas extensões IMAP não são suportadas por todos os servidores.
// Para exemplos completos e arquivos de dados, por favor vá para https://github.com/aspose-email/Aspose.Email-for-Java
final ImapClient client = new ImapClient("imap.gmail.com", 993, "username", "password");
try {
// Definir SecurityOptions
client.setSecurityOptions(SecurityOptions.Auto);
System.out.println(client.getIdSupported());
ImapIdentificationInfo serverIdentificationInfo1 = client.introduceClient();
ImapIdentificationInfo serverIdentificationInfo2 = client.introduceClient(ImapIdentificationInfo.getDefaultValue());
// Exibir propriedades do ImapIdentificationInfo
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 Estendida IMAP4
O seguinte trecho de código mostra como usar o comando de lista estendida IMAP4.
// Para exemplos completos e arquivos de dados, por favor vá para 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("Lista Estendida Suportada: " + client.getExtendedListSupported());
for (ImapFolderInfo folderInfo : (Iterable<ImapFolderInfo>) folderInfoCol) {
if (folderInfo.getName().equals("[Gmail]/Todos os e-mails"))
System.out.println("Tem Filhos: " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Lixeira"))
System.out.println("A Lixeira tem filhos? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Rascunhos"))
System.out.println("Rascunhos tem filhos? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Importante"))
System.out.println("Importante tem Filhos? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/E-mails Enviados"))
System.out.println("E-mails Enviados tem Filhos? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Spam"))
System.out.println("Spam tem Filhos? " + folderInfo.hasChildren());
if (folderInfo.getName().equals("[Gmail]/Destacados"))
System.out.println("Destacados têm Filhos? " + folderInfo.hasChildren());
}
} finally {
if (client != null)
client.dispose();
}