Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Eine einfache Newsletter Applikation

Geschrieben von: Christian Holm
Kategorie: ASP Grundlagen

This printed page brought to you by AlphaSierraPapa

Um Besucher bzw. Kunden immer am neuesten Stand Ihres Website-Inhaltes oder z.B über neue Produkte zu informieren, können Sie dies mit Hilfe eines Email-basierenden Newsletters erreichen. Bei mehreren Besuchern lohnt es sich aber schon auf sogenannte Newsletter Applikationen zurückzugreifen, die die Administration und den Vorgang des Aussendens der (vielen) Emails erleichtern. Dieser Artikel stellt Ihnen eine einfache und kostenlose Lösung vor.

Der Sourcecode für diese Applikation wurde von Cenk Yurtseven verfaßt, und er ist im heutigen Download mit dabei. Der Download besteht aus einem Zip-Archiv, welches eine ASP-Datei und die zur Verwaltung benötigte MS Access Datenbank enthält.

Bevor wir mit einem Testlauf der Applikation anfangen, noch einige Worte zuvor. Zunächst einmal einen kurzen Einblick in die Datenbank und Ihre Struktur. Diese besteht aus vier Tabellen - NewsHistory, MailHistory, Newsletter und NewsletterSections.

Die Tabelle NewsHistory enthält die eigentlichen Newsletter. Alle Newsletter, die Sie über die Applikation erstellen, werden hier gespeichert. Die Struktur der Tabelle sieht folgendermaßen aus:

Ähnlich wie bei der NewsHistory Tabelle enthält die MailHistory Tabelle die verschickten Emails. Daher ist auch die Struktur der Tabelle zur oberen ähnlich:

In der Newsletter Tabelle werden die Adressaten verwaltet. Hierbei werden u.a. die Emailadresse des Empfängers, seine Zugehörigkeit zu der jeweiligen Interessensgruppe - die Sie selbst erstellen können - und das Erstellungsdatum des Eintrages gespeichert:

Die Tabelle, die noch fehlt, ist die NewsletterSections. Sie enthält die einzelnen zu verwaltenden Interessensgruppen für den Newsletter:

Diese ermöglicht, daß Sie mit einer einzigen Applikation mehrere Besucher- bzw. Kundeninteressensgebiete verwalten können. Da Sie im Moment neue Interessensgruppen nicht über dieses Script eingeben können, müssen Sie dies wie gewohnt mit Hilfe von Access erledigen.

Nun noch ein paar Worte zur Implementierung der Datenbankverbindung und zur Emailversendung. In der ursprünglichen Version des Sourcecodes wurde die Verbindung zur Datenbank mittels ODBC DSN realisiert. Ich habe mir erlaubt dies zu entfernen und stattdessen mit einer include-Datei die Verbindungsparameter in das Script einzubinden. Daher wurden folgende Änderungen durchgeführt:

Erstellung der include-Datei configuration.asp, welche sich im Unterverzeichnis includes befindet. Diese Datei enthält folgende Anweisungen:

<%
DBPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
DBPath = DBPath & Server.MapPath("CYNewsletter.mdb") 
%>

Daher muß auch im "Hauptscript" ein neuer Eintrag statt des vorigen DSN-Eintrags DBPath =... erfolgen:

<!-- #include virtual="/newsl/includes/configuration.asp" -->

Die Emails werden mittels CDONTS (Collaboration Data Objects for NT Server) verschickt. Im Script müssen Sie daher nur um den bzw. die Newsletter verschicken zu können, den Eintrag für die Variable strFrom des folgenden Codeblocks ändern:

Dim objCDOMail 'The CDO object
	
strTo = rs("EMail")
strSubject = MessageSubject
strFrom = "mail@mymail.com"
strBody = Message

Wenn Sie nun die neu erstellte ASP-Datei default.asp auf einem Web Server ausführen, erhalten Sie folgende Startseite der Newsletter Applikation:

Diese ist zwar schlicht gehalten, aber dennoch ausreichend funktionell. Von hier aus können Sie einen neuen Newsletter verschicken, einen neuen Newsletter-Empfänger hinzufügen oder die History der Newsletter ansehen. Erstellen wir zunächst einen neuen Empfänger. Hierfür klicken Sie auf Add New Address und Sie erhalten folgende Eingabemaske:

Sie müssen lediglich eine Emailadresse und eine Zugehörigkeit zu einer (evtl. vorher erstellten) Sparte angeben. Damit ist es möglich, themenspezifische Newsletter auszusenden - und damit erhöhen Sie auch die Wahrscheinlichkeit, daß diese Interesse finden.

Nun klicken Sie auf Add und der neue Empfänger wird in der Datenbank gespeichert. Als zusätzliche Bestätigung erhalten Sie je nach dem ob der Vorgang erfolgreich war oder nicht eine Meldung:

Nun sind wir soweit, daß wir einen Newsletter verschicken können. Wir gelangen über den Link Control Panel wieder zum Ausgangsscreen zurück. Dort geben wir - wie gewohnt für eine Email - die benötigten Daten wie Subject und die eigentliche Nachricht ein. Die Empfänger wählen wir über das Pulldown Menü Select Group. Jetzt können wir den Newsletter eigentlich abschicken und klicken auf den Preview-Button und erhalten folgendes:

In dieser Voransicht können Sie den Newsletter vor dem Abschicken noch einmal überprüfen und danach durch Klicken auf den Send Newsletter-Button diesen versenden. Gleichzeitig wird der Newsletter in der Datenbank gespeichert bzw. in der History, also der NewsHistory Tabelle abgelegt.

Schlußbemerkung

Dies war eine kurze Anleitung für den Gebrauch der kostenlos downloadbaren Newsletter Applikation in vielen bunten Bildern. Diese ist zwar schlicht gehalten, enthält aber alle notwendigen Funktionen um Newsletter zu versenden und auch mehrere Interessensgruppen zu verwalten. Nur ein kundenseitiges Anmeldeformular für die Newsletter muß man selber schreiben - oder besser aus dem existierenden Code "extrahieren".

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20010503.zip

Verwandte Artikel

Emails senden mit CDONTS
http:/www.aspheute.com/artikel/20000515.htm
ODBC und ASP - Eine DSN zur Verwendung mit ASP definieren
http:/www.aspheute.com/artikel/19990826.htm

Links zu anderen Sites

Download der Newsletterapplikation
http://cenk.yurtseven.com/programs/english/newsletter/default.asp?mode=drafts

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.