Kein Geheimnis, dass FastReport .Net eine Möglichkeit hat, Berichte per Email zu schicken. Aber nur einige wissen, dass man das durch den Code der Benutzers Anwendung machen kann. Auf diese Weise, brauchen Sie nicht, jeden Bericht zu starten und ihn per Email mit der Hand zu schicken. Nötige Berichte werden automatisch an eingegebene Adresse mit einem Mausklick oder nach einem Aufgabenplan geschickt.
Erörtern wir jetzt ein Beispiel, wie man einen Bericht im PDF Format per Email schicken kann.
Erstellen wir eine WindowsForms Anwendung. Fügen wir eine Taste und zwei Textfelder hinzu. In einem Feld geben wir die Empfängers Adresse und in zweitem – den Namen des Servers für den Postausgang ein.
Wir brauchen dazu folgende Bibliotheken:
1 2 3 |
using FastReport; using FastReport.Export; using FastReport.Utils; |
Erstellen wir einen Eventsbearbeiter für den Tastenklick:
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 |
private void button1_Click(object sender, EventArgs e) { Config.ReportSettings.ShowProgress = false; //Disable progress window Report report1 = new Report(); //Create new report object report1.Load(Environment.CurrentDirectory+"\\text.frx"); //Load report report1.Prepare(); //Prepare report FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport(); //Cteate PDF export FastReport.Export.Email.EmailExport email = new FastReport.Export.Email.EmailExport(); //Create Email export //email mailer settings email.Account.Address = "gromozekaster@yandex.ru"; email.Account.Name = "TestUser"; email.Account.Host = textBox2.Text; email.Account.Port = 25; email.Account.UserName = "Gromozekaster"; email.Account.Password = "Password"; email.Account.MessageTemplate = "Test"; email.Account.EnableSSL = true; //email addressee settings email.Address = textBox1.Text; email.Subject = "Test Report"; email.MessageBody = "Test message"; email.Export = pdf; //Set export type email.SendEmail(report1); //Send email } |
Am Anfang habe ich das Fenster für Prozessschau in den Berichtseinstellungen ausgeschaltet. Das ist nicht nötig. Wenn Sie das nicht brauchen, schreiben Sie diese Codezeile nicht. Weiter erstellen wir das Objekt mit dem Typ „Bericht“ und laden da den Bericht herunter. Vor dem Export braucht man den Bericht (Prepare) vorzubereiten, oder, mit den anderen Wörtern, den Bericht zu erstellen. Dann erstellen wir einen Exportobjekt im PDF-Format. Analog erstellen wir einen Export in die Email.
Jetzt können wir die Parametern für den Export an die Email einstellen. In Account – die Empfängers Daten. Allgemein sind diese Daten die Postausgangsservers Einstellungen.
Weiter geben wir die Empfängers Daten ein, so wie: Die Emails Adresse, den Betreff und den Text des Briefes und den Export in die Datei vom nötigen Typ. Hier soll man merken, dass es keine Notwendigkeit gibt, einen Export in PDF zu machen. Hier braucht man einfach den Exportobjekt zu erstellen. Der Postexport macht den Export in die Datei mit gewünschtem Format selbst.
Wenn man keinen Parameter „Export“ erstellt, dann wird der Bericht im FPX-Format gesendet. Das ist die Vorschaudatei. Sie können den Bericht schauen, drücken oder exportieren, aber Sie können ihn nicht bearbeiten.
Schließlich senden wir den Brief mit der Hilfe der Methode „SendMail“. Diese Methode braucht eine Übergabe des Berichtsobjekts.
Die besprochene Methode kann sehr nützlich für standardisierte Briefe sein. Zum Beispiel, kann man eine automatische Sendung von täglichen Berichten an die Email vom Chef organisieren.