Converter mensagens de e‑mail entre formatos é uma necessidade frequente para fluxos de trabalho de arquivamento, migração e conformidade. Aspose.Words Cloud SDK for Java fornece uma poderosa biblioteca baseada na nuvem que torna a conversão de EML para MSG em Java simples e confiável. Neste guia, você aprenderá como configurar o SDK, executar um exemplo completo em Java, realizar a mesma operação com cURL e entender os principais recursos que tornam esta biblioteca ideal para transformações de formatos de e‑mail.

Como Realizar a Conversão de EML para MSG em Java - Passo a Passo

  1. Configure as credenciais do Aspose.Words Cloud: Crie um objeto Configuration e defina seu clientId e clientSecret.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
  1. Inicializar o cliente WordsApi: Passe a configuração para o construtor WordsApi.
WordsApi wordsApi = new WordsApi(config);
  1. Carregue o arquivo EML em um fluxo: Use FileInputStream para ler o arquivo .EML de origem.
String inputFilePath = "sample.eml";
InputStream inputStream = new FileInputStream(inputFilePath);
  1. Crie e envie a solicitação de conversão: Construa um ConvertDocumentRequest especificando "msg" como o formato de destino, então chame convertDocument.
ConvertDocumentRequest request = new ConvertDocumentRequest(
        inputStream,          // Input document stream
        "msg",                // Desired output format
        null, null, null, null, null, null, null, null);
byte[] convertedBytes = wordsApi.convertDocument(request);

Para mais detalhes, veja a referência da classe WordsApi.

  1. Salve os bytes MSG retornados em um arquivo: Escreva o array de bytes em sample.msg.
String outputFilePath = "sample.msg";
try (OutputStream outputStream = new FileOutputStream(outputFilePath)) {
    outputStream.write(convertedBytes);
}

Exemplo de Código Completo: Conversão de Formato de Email com Aspose.Words Cloud

O exemplo a seguir demonstra todo o fluxo de trabalho para conversão de EML para MSG em Java.

import com.aspose.words.cloud.Configuration;
import com.aspose.words.cloud.api.WordsApi;
import com.aspose.words.cloud.model.requests.ConvertDocumentRequest;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class EmlToMsgConversion {
    public static void main(String[] args) {
        // Configure Aspose.Words Cloud credentials
        Configuration config = new Configuration();
        config.setClientId("YOUR_CLIENT_ID");
        config.setClientSecret("YOUR_CLIENT_SECRET");
        // Optional: config.setBaseUrl("https://api.aspose.cloud");

WordsApi wordsApi = new WordsApi(config);

String inputFilePath = "sample.eml";
        String outputFilePath = "sample.msg";

try (InputStream inputStream = new FileInputStream(inputFilePath)) {
            // Convert EML to MSG; format parameter is the target format
            ConvertDocumentRequest request = new ConvertDocumentRequest(
                    inputStream,          // Input document stream
                    "msg",                // Desired output format
                    null,                 // outPath (null for direct response)
                    null,                 // storage (null for default)
                    null,                 // loadEncoding
                    null,                 // password
                    null,                 // encryptedPassword
                    null,                 // fontsLocation
                    null,                 // useAntiAliasing
                    null                  // useHighQualityRendering
            );

// The API returns the converted document as a byte array
            byte[] convertedBytes = wordsApi.convertDocument(request);

// Write the result to a file
            try (OutputStream outputStream = new FileOutputStream(outputFilePath)) {
                outputStream.write(convertedBytes);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar quaisquer caminhos de arquivos e valores de configuração para corresponder ao seu ambiente real, verifique se todas as dependências necessárias estão corretamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.

Conversão de Email usando cURL e a API REST

Você pode obter a mesma conversão sem escrever código Java, chamando a Aspose.Words Cloud REST API diretamente.

  1. Obtenha um token de acesso
curl -X POST "https://api.aspose.cloud/connect/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

A resposta contém access_token.

  1. Carregue o arquivo EML de origem (opcional se você enviá-lo no corpo da solicitação)
curl -X PUT "https://api.aspose.cloud/v4.0/words/storage/file/sample.eml" \
        -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
        -T "sample.eml"
  1. Execute a conversão
curl -X POST "https://api.aspose.cloud/v4.0/words/convert?format=msg" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@sample.eml" \
     -o "sample.msg"
  1. Baixe o arquivo MSG convertido (se você usou upload de armazenamento)
curl -X GET "https://api.aspose.cloud/v4.0/words/storage/file/sample.msg" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o "sample.msg"

Para obter uma lista completa de parâmetros e opções, veja a documentação oficial da API.

Preparando o Ambiente

Adicione o Aspose.Words Cloud SDK for Java ao seu projeto usando Maven:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-words-cloud</artifactId>
    <version>26.8.0</version>
</dependency>

Você também pode baixar o JAR diretamente da página de lançamento.
Pré-requisitos:

  • Java 8 ou superior
  • Uma conta Aspose Cloud com clientId e clientSecret válidos
  • Acesso à rede ao api.aspose.cloud

O que torna o Aspose.Words Cloud SDK for Java adequado para conversão de e‑mail

  • Suporte nativo para EML e MSG - A API entende ambos os formatos e preserva os metadados do e‑mail, anexos e formatação.
  • Processamento baseado em fluxo - Você pode trabalhar com objetos InputStream e byte[], eliminando a necessidade de arquivos temporários no servidor.
  • Renderização de alta fidelidade - A conversão mantém texto rico, imagens incorporadas e corpos HTML exatamente como aparecem no e‑mail original.
  • Execução em nuvem escalável - O processamento pesado é realizado nos servidores da Aspose, de modo que sua aplicação Java permanece leve.
  • Documentação abrangente - Guias detalhados e material de referência estão disponíveis na referência da API.

Conclusão

A conversão de EML para MSG em Java se torna simples quando você aproveita os recursos do Aspose.Words Cloud SDK for Java. Este guia cobre tudo, desde a preparação do ambiente até uma implementação completa em Java e chamadas cURL equivalentes. A arquitetura baseada em nuvem do SDK, o suporte a streams e a renderização precisa de e‑mail o tornam a escolha ideal para desenvolvedores que lidam com migrações de e‑mail ou projetos de arquivamento. Para implantações em produção, você precisará de uma licença comercial; detalhes de preços estão disponíveis na página do produto, e uma licença temporária pode ser obtida na página de licença temporária.

Perguntas frequentes

  • Qual é a maneira mais fácil de iniciar a conversão de EML para MSG em Java?
    Adicione a dependência Maven, configure suas credenciais de API e invoque ConvertDocumentRequest conforme demonstrado no código de exemplo. O SDK cuida da lógica de conversão para você.

  • Posso converter arquivos EML armazenados no armazenamento em nuvem sem baixá‑los primeiro?
    Sim. Forneça o caminho do armazenamento em nuvem através dos parâmetros storage e outPath de ConvertDocumentRequest, e a API lerá e gravará os arquivos diretamente no armazenamento da Aspose Cloud.

  • A conversão preserva os anexos de e‑mail?
    Absolutamente. Todos os anexos originais são mantidos e incorporados no arquivo .MSG resultante, mantendo a mensagem totalmente funcional.

  • Existe um limite de quantas conversões eu posso realizar por dia?
    Os limites de conversão dependem do nível da sua assinatura Aspose Cloud; planos de nível superior oferecem cotas diárias maiores e processamento prioritário.

Leia Mais