Aspose.Email for Java permite que você trabalhe com os serviços do Microsoft Exchange Server como e-mail, gerenciamento de contatos, calendário, etc. Em um post anterior, você viu como ler e-mails do MS Exchange Server programaticamente de dentro de seus aplicativos Java. No entanto, em certos casos, pode ser necessário mover emails de uma pasta para outra no Exchange Server. Neste artigo, você aprenderá como mover emails para uma pasta específica no MS Exchange Server em java.
- API Java para mover emails no Microsoft Exchange Server
- Mover e-mail existente para uma pasta no MS Exchange Server
- Mover novo e-mail para uma pasta no MS Exchange Server
API Java para mover emails no Microsoft Exchange Server
Aspose.Email for Java é uma API de e-mail poderosa para trabalhar com o MS Exchange Server sem escrever código complexo. Neste artigo, usaremos essa API para mover emails para uma pasta específica da caixa de correio no MS Exchange Server. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.
Repositório:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Dependência:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Mover e-mail para uma pasta no MS Exchange Server em Java
A seguir estão as etapas para mover e-mails para uma pasta específica no MS Exchange Server em Java.
- Primeiro, inicialize o objeto IEWSClient usando nome de usuário, senha, domínio e URI.
- Em seguida, obtenha a lista de mensagens de e-mail em um objeto ExchangeMessageInfoCollection usando o método IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri()).
- Depois disso, percorra cada mensagem ExchangeMessageInfo e filtre a(s) necessária(s).
- Em seguida, obtenha o URI da mensagem de email a ser movida usando o método ExchangeMessageInfo.getUniqueUri().
- Finalmente, mova a mensagem de email usando o método IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
O exemplo de código a seguir mostra como mover um email para uma pasta no MS Exchange Server em Java.
try {
// Crie uma instância da classe EWSClient fornecendo credenciais
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// Chame o método ListMessages para listar as informações das mensagens da caixa de entrada
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// Percorra a coleção para obter o URI da mensagem
for (ExchangeMessageInfo msgInfo : msgCollection) {
if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
String strMessageURI = msgInfo.getUniqueUri();
// Copiar para uma pasta específica
String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
}
}
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Mover novo e-mail para uma pasta no MS Exchange Server
Você também pode mover um e-mail recém-criado para uma pasta específica no MS Exchange Server. A seguir estão as etapas para realizar esta operação.
- Primeiro, inicialize o objeto IEWSClient usando nome de usuário, senha, domínio e URI.
- Em seguida, crie uma nova mensagem usando a classe MailMessage.
- Depois disso, obtenha o URI da mensagem de email retornado pelo método IEWSClient.appendMessage(MailMessage).
- Finalmente, mova a mensagem de email usando o método IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()).
O exemplo de código a seguir mostra como mover uma nova mensagem de email para uma pasta no MS Exchange Server.
try {
// Crie uma instância da classe EWSClient fornecendo credenciais
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// Criar uma nova mensagem
MailMessage message = new MailMessage("from@domain.com", "to@domain.com",
"EMAILNET-34997 - " + UUID.randomUUID().toString(),
"EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");
// Obter URI
String messageUri = client.appendMessage(message);
// Mover para a pasta
String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar o Aspose.Email for Java sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como mover emails para uma pasta específica no Microsoft Exchange Server usando Java. Além disso, você viu como mover uma mensagem de email recém-criada para uma pasta específica no Exchange Server. Além disso, você pode explorar a documentação para ler mais sobre o Aspose.Email para Java. Além disso, você pode fazer suas perguntas através do nosso fórum.