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
30 de maio de 2025

Abrimos arquivos com a extensão FP3 usando o FastReport Viewer

O FastReport Viewer é a solução ideal para trabalhar com arquivos FP3, é permite abrir, visualizar, imprimir e exportar relatórios com facilidade.
22 de abril de 2025

Working with the TfrShellTreeView Component in FastReport VCL

In this article, we will look at the TfrShellTreeView component. It is designed to display file system elements and is partially analogous to the TDirectoryListBox, TDirectoryOutline, and TShellTreeView components.
21 de abril de 2025

How RFID Tags Work in FastReport VCL

In this article, we'll check out how RFID tags work with the new TfrxDeviceCommand object in FastReport VCL with release 2025.2.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.