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
- Configure as credenciais do Aspose.Words Cloud: Crie um objeto
Configuratione defina seuclientIdeclientSecret.
Configuration config = new Configuration();
config.setClientId("YOUR_CLIENT_ID");
config.setClientSecret("YOUR_CLIENT_SECRET");
- Inicializar o cliente WordsApi: Passe a configuração para o construtor
WordsApi.
WordsApi wordsApi = new WordsApi(config);
- Carregue o arquivo EML em um fluxo: Use
FileInputStreampara ler o arquivo.EMLde origem.
String inputFilePath = "sample.eml";
InputStream inputStream = new FileInputStream(inputFilePath);
- Crie e envie a solicitação de conversão: Construa um
ConvertDocumentRequestespecificando"msg"como o formato de destino, então chameconvertDocument.
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.
- 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.
- 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.
- 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"
- 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"
- 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
clientIdeclientSecretvá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
InputStreamebyte[], 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 invoqueConvertDocumentRequestconforme 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âmetrosstorageeoutPathdeConvertDocumentRequest, 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.MSGresultante, 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.