1. Produtos
  2.   E-mail
  3.   Java
  4.   Apache POI HSMF

Apache POI HSMF

 
 

Processe arquivos MSG via API Java de código aberto

Leia arquivos MSG do Microsoft Outlook para acessar informações de renderização, conteúdo de assunto e corpo ou extrair anexos com o Apache POI.

Se você é um desenvolvedor Java procurando uma biblioteca de processamento de e-mail para processar mensagens de e-mail, considere o Apache POI-HSMF. É a implementação Java pura do projeto do POI do formato MSG do Outlook, fornecendo acesso de leitura de baixo nível a arquivos MSG junto com uma maneira voltada ao usuário para obter o conteúdo textual comum de arquivos MSG, como remetente, assunto, corpo da mensagem e muito mais . Os desenvolvedores podem obter informações de cabeçalhos de mensagens, salvar mensagens de e-mail, ler propriedades de tamanho fixo do arquivo MSG, extrair propriedades de mensagens incorporadas, trabalhar com codificação de mensagens e muito mais. 

Previous Next

Primeiros passos com o Apache POI HSMF

Antes de tudo, você precisa ter o Java Development Kit (JDK) instalado em seu sistema. Se você já o possui, vá para a página download do POI do Apache para obter a versão estável mais recente em um arquivo. Extraia o conteúdo do arquivo ZIP em qualquer diretório de onde as bibliotecas necessárias possam ser vinculadas ao seu programa Java. Isso é tudo!

Fazer referência ao Apache POI em seu projeto Java baseado em Maven é ainda mais simples. Tudo que você precisa é adicionar a seguinte dependência em seu pom.xml e deixar seu IDE buscar e referenciar os arquivos Apache POI Jar.

Dependência do Apache POI Maven

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
  <groupId>org.apache.poi</groupId>
  <artifactId>poi</artifactId>
  <version>4.1.0</version>
</dependency>

API to Access Outlook MSG Files

API para acessar arquivos MSG do Outlook

O Apache POI-HSMF permite que desenvolvedores e programadores Java acessem o conteúdo dos arquivos MSG do Outlook. Apache POI-HSMF é uma porta do formato de arquivo de mensagem do Microsoft Outlook para Java puro. A API está no nível muito básico a partir de agora e, portanto, a funcionalidade limitada está disponível para trabalhar com mensagens de e-mail. Os desenvolvedores podem obter

Extrair dados do MSG - Java

// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Read Content
System.out.println("From: " + msg.getDisplayFrom());
System.out.println("To: " + msg.getDisplayTo());
System.out.println("CC: " + msg.getDisplayCC());
System.out.println("BCC: " + msg.getDisplayBCC());
System.out.println("Subject: " + msg.getSubject());

Read & Extracts Attachments from Outlook MSG File

Ler e extrair anexos do arquivo MSG do Outlook

A API Apache POI-HSMF permite que desenvolvedores Java analisem arquivos MSG do Outlook; extrair e ler o conteúdo do documento incorporado. Os desenvolvedores podem acessar anexos de mensagens MAPI. Ele suporta a leitura de um ou vários arquivos MSG do Outlook e para cada um deles cria um arquivo de texto a partir de pedaços disponíveis e um diretório que contém anexos. Ele lê anexos do arquivo MSG do Outlook e os grava no disco como um arquivo individual.

Extrair anexos para MSG - Java

// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Extract Attachment
AttachmentChunks[] attachments = msg.getAttachmentFiles();
if(attachments.length > 0) {
  File d = new File("D:\\Attachments");
  if(d.mkdir()) {
    for(AttachmentChunks attachment : attachments) {
      processAttachment(attachment, d);
    }
  }
}

Save Email Message Contents inside Java Apps

Salvar o conteúdo da mensagem de e-mail dentro de aplicativos Java

Os programadores Java podem usar a API Apache POI-HSMF para extrair e salvar o conteúdo da mensagem de e-mail. O corpo do e-mail pode ser extraído para criar um novo arquivo e você pode gravá-lo no disco com a ajuda do FileWrite.

Extraia o corpo do email para criar um novo arquivo via Java

 String filename = "message.msg";
MAPIMessage msg = new MAPIMessage(filename);
PrintWriter txtOut = new PrintWriter("ApacheMessage.txt");
txtOut.println("Email Body: " + msg.getTextBody());
txtOut.close();
 Português