AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Library: Internet / LAN / ASP.NET Delphi Mailsystem mit Vorlagen. HTML und Plain
Thema durchsuchen
Ansicht
Themen-Optionen

Mailsystem mit Vorlagen. HTML und Plain

Ein Thema von Jelly · begonnen am 27. Sep 2005
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Mailsystem mit Vorlagen. HTML und Plain

  Alt 27. Sep 2005, 17:47
Aus eigener Not ist unter folgenden Anforderungen eine SendMailkomponente entstanden, mit folgenden Eigenschaften:
  • HTML und Plaintext ohne grosse Umwege. Entworfen soll einfach nur die HTML Mail inkl. Grafiken in der Mail. Der Plaintext Anteil soll automatisch daraus erstellt werden, damit ältere Mailclients die Mail auch lesen können.
  • Es soll mit Vorlagen gearbeitet werden, damit individualisierte Mails sehr leicht erstellt werden können.
  • Die Vorlage kann aus einer Datenbanktabelle stammen (Blob Feld), oder direkt aus einer Datei.
  • Basiert auf Indy 10.
Gebt mir mal Eure Kommentare ab, bevor ich mich hier wund tippe um zu erklären wie die Komponente funktioniert.

Am Bsp von TMailTemplateFile will ich dennoch kurz darauf eingehen, wie die Komponente zu handhaben ist.

Als Erstes verlangt die Komponente einige Eigenschaften, die auf andere Komponenten verweisen. Das sind:
  • TIdSMTP - Die SMTP Komponente von Indy 10. Hier müssen SMTP Host, Port etc. eingestellt werden. Die Ereignisse OnWork und OnWorkBegin werden jedoch von meiner Komponente überschrieben
  • TIdMessage
  • TMailTemplateHeader - Hier werden allgemein gültige Parameter festgelegt, wie z.B. eine BCC Liste. Somit kann hier global eingestellt werden, dass jeweils eine BlinCopy verschickt werden kann.
  • TMailTemplateDatabaseInfo - Nur wichtig wenn das Template aus der DB stammt. Getestet wurde da Ganze am MSSQL Server. Das Template muss in einem Image Datenbanktyp abgelegt sein. Die Verbindung wird über ADO hergestellt.

Weitere wichtige Eigenschaften von TMailTemplateFile sind:
  • Filename - der Dateiname des Template
  • PatterBegin und PatternEnd - zwischen diesen beiden Zeichen wird ein Templateparameter plaziert, z.B. {Vorname}
  • Progressbar - Zum direkten Anzeigen einer Fortschrittanzeige
  • SubjectTemplate - Der Subjet der Mail
  • Textwidth - maximale Zeilenbreite für den Plaintextanteil
  • UseHTML - Mail beihaltet einen HTML und einen PlainText Part. Bei false, wird nur Plaintext versandt.
  • Attachment - Eine Stringliste mit anzufügenden Attachments
Die Verwendung ist sehr easy...
TMailTemplateFile.Send('klaus.mustermann@gmx.de') ; Das wichtigste Ereignis der Kompo ist:
OnParameter - Wird ein Parameter im Template gefunden, z.B. {Vorname} so kann der Wert in diesem Ereignis zur Laufzeit mit dem gewünschten Wert gefüllt werden. FixedParameters aus TMailTemplateHeader können direkt gesetzt werden und müssen nicht mehr im OnParameter Ereignis abgehandelt werden. Typisches Bsp. für fixe Parameter sind z.B. {Datum}.

Die restlichen Ereignisse der Kompo sollten selbsterklärend sein.

C'est tout. Ich hoffe die Kompo kann von einigen genutzt werden. Mir persönlich hat sie schon ganz gute Dienste geleistet und wollt sie Euch nicht vorenthalten.

Ich werde vielleicht heut abend noch ne kurze Demo schreiben, wie einfach die Komponente anzuwenden ist.

Feedback ist natürlich auch erwünscht.

Edit 12.06.2007:
Auf User Wunsch habe ich mal ein kleines Demo Projekt angehängt.
Angehängte Dateien
Dateityp: zip mailtemplates_172.zip (10,2 KB, 358x aufgerufen)
Dateityp: zip maildemo_756.zip (569,9 KB, 265x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz