Como inserir um relatório no corpo de um e-mail

2020-07-09

Por default, FastReport.NET permite-nos enviar e-mails com um arquivo de relatório anexado em um dos formatos de exportação disponíveis. No entanto, às vezes é necessário incluir o conteúdo do relatório no corpo do e-mail. Este recurso pode ser útil se você pretende discutir o conteúdo do relatório na correspondência. As respostas a um e-mail com um arquivo de relatório anexado não terão mais esse arquivo. Portanto, você precisará encontrar um e-mail com um anexo para visualizar o relatório e entender do que se trata. Também pode ser útil se você estiver visualizando e-mails em um dispositivo móvel. Baixar um arquivo de relatório e abri-lo em outro aplicativo não é muito conveniente.

No FastReport.NET podemos enviar e-mails a partir do código de um aplicativo do usuário, o que significa que podemos definir as configurações de e-mail. Infelizmente, uma mensagem de e-mail pode conter apenas texto simples, sem imagens e marcação html. Portanto, podemos exportar o relatório para o formato txt para inseri-lo no corpo da mensagem.

Obviamente, o formato de exportação txt impõe muitas limitações - ausência completa de gráficos, objetos interativos e marcação complexa - apenas texto. Portanto, deve ser usado apenas em relatórios simples com hierarquia de dados clara e marcação simples. O exemplo ideal - listas simples. Vamos considerar um exemplo de envio de e-mail com um relatório na mensagem:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//Create export to txt format
FastReport.Export.Text.TextExport text = new FastReport.Export.Text.TextExport();
 
//Execute export to the file or stream
 report.Export(text, "Template.txt");
 
//Create export to email
 FastReport.Export.Email.EmailExport email = new FastReport.Export.Email.EmailExport();
 
//Set email subject
 email.Subject = "Test";
 
//Set message body – reply in text format
 email.MessageBody = File.ReadAllText("Template2.txt");
 
//Set recipient address
 email.Address = "gromozeka@gmail.com";
 
//Set sender address
 email.Account.Address = "gromozeka@yandex.ru";
 
//Set email host
 email.Account.Host = "smtp.yandex.ru";
 
//Set recipient name
 email.Account.Name = "gromozeka";
 
//Set username
 email.Account.UserName = "gromozeka";
 
//Set user password
 email.Account.Password = "******";
 
//Set email server port
 email.Account.Port = 25;
 
//Enable encryption if needed
 email.Account.EnableSSL = true;
 
//Send email
 email.SendEmail(report);

O mecanismo de envio de emails para FR.NET implica o envio de um email com um relatório anexado, portanto, um modelo de relatório será anexado por padrão se você não tiver especificado um determinado formato de exportação para o arquivo anexado.

Agora vamos ver o que recebemos por e-mail. Mas primeiro, dê uma olhada no relatório original:

Modelo de relatório para o e-mail

Há lindas molduras, títulos gradientes e imagens. Não vai haver nada disso na visualização de texto do relatório.

Esta é a aparência do e-mail com o relatório na mensagem:

Como o relatório fica no corpo de E-mail

O relatório é bastante reconhecível. Se não é importante para você mostrar a aparência do relatório, mas apenas entregar as informações, então este método de envio do relatório no corpo da mensagem será bastante adequado.

.NET .NET FastReport FastReport Email Email
10 de julho de 2026

Como configurar a Política de Segurança de Conteúdo para os relatórios FastReport .NET WEB

Aprenda como configurar a Política de Segurança de Conteúdo para relatórios do FastReport .NET WEB: uma visão geral das diretivas e valores da CSP, mudanças na arquitetura do FastReport, cenários típicos de contorno e formas de se proteger contra eles.
22 de junho de 2026

Como configurar um relatório com Business Objects no código e no designer do FastReport .NET

Este artigo demonstra um exemplo prático de criação e uso de um modelo de relatório .frx que se conecta a Business Objects hierárquicos no FastReport .NET.
20 de maio de 2026

Visão geral detalhada das capacidades da biblioteca FastGrid

Uma visão geral da biblioteca FastGrid para VCL e Lazarus: visualização, edição e estruturação de dados. Classificação, filtragem, agrupamento, editores de dados práticos — tudo em um único artigo!

© 1998-2026 Fast Reports Inc.