FAQ — Aspose.Email FOSS para .NET

FAQ — Aspose.Email FOSS para .NET

Licenciamento

Qual licença o Aspose.Email.Foss usa?

Licença MIT. Não é necessária chave de licença. Use livremente em projetos pessoais, comerciais e de código aberto.


Instalação

Como instalo o Aspose.Email.Foss?

dotnet add package Aspose.Email.Foss

Qual versão do .NET é necessária?

.NET 8.0 ou posterior. A biblioteca não oferece suporte ao .NET Framework ou .NET Standard.

Existem dependências nativas?

Não. A biblioteca é totalmente gerenciada em C# sem dependências nativas. Ela funciona de forma idêntica em
Windows, Linux, macOS, Docker e ambientes sem servidor.


Suporte a Formatos

Quais formatos de e‑mail são suportados?

FormatoLerGravar
MSG (Outlook)
CFB (Compound File Binary)
EML (MIME / RFC 5322)

Posso ler arquivos EML?

Sim. Use MapiMessage.LoadFromEml(stream) para carregar um arquivo .eml padrão em um MapiMessage.
O analisador MIME interno lida com cabeçalhos dobrados, conteúdo base64 e mensagens multipart.

Posso converter MSG para EML?

Sim. Chame message.SaveToEml() para saída byte[] em memória, ou message.SaveToEml(stream) para gravar em um arquivo. Assunto, corpo, corpo HTML, remetente, destinatários e todos os anexos são preservados.

O TNEF (winmail.dat) é suportado?

Não. Apenas os formatos padrão MSG (CFB) e EML (MIME) são suportados.

O IMAP/SMTP/POP3 é suportado?

Não. A biblioteca lida com arquivos MSG diretamente e não inclui nenhuma camada de rede/protocolo.


Uso da API

Como faço para carregar um arquivo MSG?

using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("message.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Como crio uma nova mensagem?

var message = MapiMessage.Create("Subject", "Body");
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
message.Save("output.msg");

Como adiciono anexos?

// From byte array
message.AddAttachment("file.pdf", pdfBytes, "application/pdf");

// From stream
using var stream = File.OpenRead("photo.png");
message.AddAttachment("photo.png", stream, "image/png");

Como converto EML para MSG?

using var eml = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(eml);
message.Save("message.msg");

Como acesso a estrutura CFB bruta?

using Aspose.Email.Foss.Cfb;
using var reader = CfbReader.FromFile("message.msg");
foreach (var entry in reader.IterChildren(CfbConstants.RootStreamId))
    Console.WriteLine(entry.Name);

Limitações Conhecidas

Existem métodos não implementados?

Não existem stubs intencionalmente não implementados na versão atual.

O suporte a calendário/compromisso está disponível?

A biblioteca lida com arquivos MSG de forma genérica. Propriedades específicas de calendário podem ser acessadas via
SetProperty() / GetPropertyValue() com IDs de propriedade MAPI de CommonMessagePropertyId,
mas não há API dedicada a calendário ou compromissos.

A segurança de thread é garantida?

Cada instância MapiMessage e CfbReader é independente. O acesso concorrente a instâncias separadas de threads distintas é seguro. Não compartilhe uma única instância entre threads sem sincronização externa.

 Português