Wie fügt man einen Bericht in den Nachrichtentext ein

Standardmäßig ermöglicht FastReport.Net E-Mails mit einer angehängten Berichtsdatei in einem der verfügbaren Exportformate zu senden. Manchmal ist es jedoch erforderlich, den Inhalt eines Berichts in den Textkörper einer E-Mail einzufügen. Diese Möglichkeit kann gefragt sein, wenn Sie beabsichtigen, den Inhalt des Berichts in einer Korrespondenz zu besprechen. In Antworten auf eine E-Mail mit einer angehängten Datei wird diese Datei nicht mehr angezeigt. Deshalb muss man sich die Zeit nehmen, einen Brief mit der angehängten Datei zu finden, um den Bericht zu sehen und zu verstehen, worum es geht. Dies kann auch nützlich sein, wenn Sie Ihre E-Mails auf Ihrem mobilen Gerät durchsehen. Eine Berichtsdatei zu herunterladen und in einer anderen Anwendung zu öffnen, es ist nicht sehr praktisch.

In FastReport.Net können wir E-Mails aus dem Code einer benutzerdefinierten Anwendung senden und damit die Einstellungen für E-Mails festlegen. Leider kann eine E-Mail-Nachricht nur Klarschrift enthalten, ohne Bilder und HTML-Markierung. Daher können wir den Export des Berichts in das TXT-Format verwenden, um ihn dann in den Text der E-Mail einzufügen.

Natürlich hat das txt-Exportformat viele Einschränkungen – das völlige Fehlen von Grafiken, interaktiven Objekten und komplexen Markups - nur Text. Daher sollte es nur in einfachen Berichten mit klarer Datenhierarchie und einfachem Markierung verwendet werden. Ein ideales Beispiel sind einfache Listen. Betrachten Sie ein Beispiel für das Senden einer E-Mail mit einem Bericht in einer Nachricht:

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
//Erstellen wir einen Export in ein Textformat
FastReport.Export.Text.TextExport text = new FastReport.Export.Text.TextExport();
//Exportieren wir in eine Datei oder einen Stream
 report.Export(text, "Template.txt");
//Erstellen wir einen Export in einen Brief
 FastReport.Export.Email.EmailExport email = new FastReport.Export.Email.EmailExport();
//Geben wir den Titel des Briefes ein
 email.Subject = "Test";
//Geben wir die Antwortnachricht im Textformat ein
 email.MessageBody = File.ReadAllText("Template2.txt"); 
//Geben Sie die Adresse des Empfängers ein
 email.Address = "gromozeka@gmail.com";
//Geben Sie die Adresse des Absenders ein
 email.Account.Address = "gromozeka@yandex.ru";
//Geben wir den Server für das Senden von E-Mails ein
 email.Account.Host = "smtp.yandex.ru";
//Geben wir den Namen des Absenders ein
 email.Account.Name = "gromozeka";
//Geben Sie den Benutzernamen ein
 email.Account.UserName = "gromozeka";
//Passwort des Benutzers festlegen
 email.Account.Password = "******";
//Geben wir den Port des Mailservers ein
 email.Account.Port = 25;
//Aktivieren wir die Verschlüsselung, falls erforderlich
 email.Account.EnableSSL = true;
//Senden wir einen Brief
 email.SendEmail(report);

Mechanismus von der Sendung von E-Mails in FR.Net impliziert der Versand einer E-Mail mit dem angehängten Bericht, so wurde standardmäßig Berichtsvorlage beigefügt, wenn Sie ein bestimmtes Format für den Export der angehängten Datei nicht gefragt hatte.

Jetzt sehen wir, was wir in dem Brief bekommen. Aber schauen Sie sich zuerst den ursprünglichen Bericht an:

Report template for the email

Es gibt schöne Rahmen, Farbverlaufsüberschriften und Bilder. All dies wird in der Textansicht des Berichts nicht angezeigt.

So sieht der Brief mit dem Bericht in der Nachricht aus:

How the report looks in email body

Der Bericht ist ganz erkennbar. Wenn das Erscheinungsbild des Berichts nicht grundsätzlich ist, sondern müssen Sie nur Informationen vermitteln, ist den Weg vom Senden des Berichts im Körper des Briefes geeignet.