Gerenciamento Avançado de Mensagens de Email
Rastrear Progresso da Conversão de Documentos
Aspose.Email fornece a funcionalidade de rastrear o progresso da conversão de documentos. Para isso, a API fornece SaveOptions.CustomProgressHandler. que representa o método que lida com os eventos de progresso. Os tipos de evento de progresso são representados por ProgressEventType enumeração. O ProgressEventType enumeração possui os seguintes membros.
- MimeStructureCreated: Este evento informa que a estrutura MIME foi criada.
- MimePartSaved: Este evento informa que o salvamento de uma parte MIME foi concluído.
- SavedToStream: Este evento informa que todas as partes MIME foram salvas no stream.
O código de exemplo a seguir demonstra o uso de SaveOptions.CustomProgressHandler e ProgressEventType enumeração que acompanha o progresso da conversão de documentos.
A seguir está o código da classe personalizada usada no exemplo de código acima.
Renderizar Hyperlinks com Estilos Personalizados
Pode haver momentos em que você precise gerar hiperligações com um estilo específico baseado nos requisitos da sua aplicação. Para isso, Aspose.Email fornece HyperlinkRenderingCallback. Você pode passar o HyperlinkRenderingCallback como parâmetro de MailMessage.GetHtmlBodyText.
O trecho de código a seguir mostra como usar HyperlinkRenderingCallback para exibir hyperlinks usando seu próprio estilo personalizado.
Exibir Informações em Ordem Personalizada em Arquivos MHTML
Aspose.Email fornece MhtSaveOptions.RenderingHeaders propriedade que retorna a lista de cabeçalhos para renderização. Você pode adicionar os cabeçalhos usando o MhtTemplateName classe. A ordem em que os cabeçalhos são adicionados determina a ordem em que as informações são exibidas.
A imagem a seguir compara as três saídas geradas pelo código de exemplo.

O trecho de código a seguir demonstra o uso de MhtSaveOptions.RenderingHeaders propriedade para definir a ordem em que as informações são exibidas nos arquivos MHTML de saída.
Exibir Participantes Opcionais em Arquivos MHT
Ao trabalhar com o formato MHT, você pode exibir ou ocultar informações sobre participantes opcionais no cabeçalho dos eventos de calendário. Para configurar MhtSaveOptions para o tratamento de arquivos MHT, você precisa entender como o MhtFormatOptions.RenderCalendarEvent e MhtFormatOptions.WriteHeader os parâmetros funcionam na personalização da saída de acordo com suas necessidades, particularmente ao gerenciar a exibição de participantes opcionais.
-
MhtFormatOptions.RenderCalendarEvent: Este parâmetro controla se os detalhes dos eventos de calendário são renderizados no arquivo MHT. Ao definir esta opção, você garante que informações abrangentes do evento, incluindo detalhes dos participantes, sejam incluídas na saída. Isso é essencial para fornecer documentação completa dos eventos de calendário.
-
MhtFormatOptions.WriteHeader: Este parâmetro determina se os cabeçalhos contendo metadados como assunto, data e informações dos participantes (incluindo participantes opcionais, quando configurados) são gravados no arquivo MHT. Habilitar esta opção garante que informações contextualizadas acompanhem sua mensagem, aumentando a compreensão.
O exemplo de código abaixo demonstra como usar o recurso exibir participantes opcionais ao salvar um msg no formato mhtml:
MhtSaveOptions options = new MhtSaveOptions()
{
MhtFormatOptions = MhtFormatOptions.RenderCalendarEvent | MhtFormatOptions.WriteHeader
};
MailMessage eml = MailMessage.Load(fileName);
eml.Save(fileName + ".mhtml", options);
Se precisar excluir informações sobre participantes opcionais do arquivo MHT, basta limpar o modelo de formato para OptionalAttendees antes de salvar:
//if you need to skip OptionalAttendees in mhtml file you can clear format template for OptionalAttendees
options.FormatTemplates[MhtTemplateName.OptionalAttendees] = "";
msg.Save(fileName + "2.mhtml", options);
Salvar Todos os Cabeçalhos em MHTML
O MhtSaveOptions.SaveAllHeaders propriedade do MhtSaveOptions classe define se há necessidade de salvar todos os cabeçalhos no mhtml de saída ou não. O trecho de código a seguir mostra como salvar todos os cabeçalhos de um arquivo mhtml:
var eml = MailMessage.Load("message.eml");
var sopt = SaveOptions.DefaultMhtml;
sopt.SaveAllHeaders = true;
eml.Save("message.mhtml", sopt);
Processamento de Mensagens Devolvidas
É muito comum que uma mensagem enviada a um destinatário possa ser devolvida por qualquer motivo, como um endereço de destinatário inválido. A API Aspose.Email tem a capacidade de processar tal mensagem para verificar se é um e‑mail devolvido ou uma mensagem de e‑mail normal. O Verificar Mensagens Rejeitadas método do MailMessage classe retorna um resultado válido se a mensagem de email for devolvida. Este artigo mostra o uso do BounceResult classe que fornece a capacidade de verificar se uma mensagem é um email devolvido (bounced). Também fornece informações detalhadas sobre os destinatários, ação tomada e o motivo da notificação. O trecho de código a seguir mostra como processar mensagens devolvidas.
Analisador de Spam Bayesiano
Aspose.Email fornece filtragem de e‑mail usando um analisador de spam Bayesiano. Ele fornece o SpamAnalyzer classe para este propósito. Este artigo mostra como treinar o filtro para distinguir entre spam e emails regulares com base no banco de palavras.
Obter Preâmbulo e Epílogo de Mensagens EML
Uma mensagem de email pode conter algumas informações ocultas como texto simples antes do corpo da mensagem (ou seja, preâmbulo) ou após o corpo (ou seja, epílogo). Normalmente são informações adicionais ou contexto para o destinatário antes ou depois de ler o conteúdo principal do email. Você pode obter essas informações usando MailMessage.Preamble ou/e MailMessage.Epilogue propriedades, respectivamente.
O trecho de código a seguir mostra como obter os textos de preâmbulo e epílogo:
// Gets or sets a preamble text.
public string Preamble
// Gets or sets an epilogue text.
public string Epilogue
Rastreamento de Email usando MDN e Recibos de Leitura
A API Aspose.Email oferece suporte ao rastreamento de email usando Message Disposition Notification (MDN). Isto é alcançado solicitando os recibos de leitura e criando as informações necessárias. O MailMessage.ReadReceiptTo propriedade obtém ou define o endereço de recibo de leitura. O CreateReadReceipt e ReadReceiptRequested métodos são usados para criar e recuperar a informação sobre se recibos de leitura são solicitados. O trecho de código a seguir mostra como rastrear emails usando a API Aspose.Email.