Zusammenfassung
Lernen Sie eine Anwendung zum Versenden von Serienmails mit Platzhaltern kennen.
Techniken
VBA, Formulare, SMTP
Voraussetzungen
Access 2000 und höher
Beispieldatenbank
Serienmail.mdb, SendMail2.dll
André Minhorst, Duisburg
Serienmails verschicken – das ist doch ganz einfach, oder Einfach die Mail mit Outlook erstellen, Empfänger eintragen und ab die Post! Klar, wenn man keine besonderen Ansprüche hat, kann man das so machen. Wer allerdings den Inhalt der Serienmail personalisieren oder eine Historie der versendeten Mails inklusive Verteilerliste pflegen möchte, braucht ein spezielles Stück Software. Im vorliegenden Beitrag stellen wir Ihnen genau das richtige vor.
Das Serienmail-Tool bietet einige Funktionen zum Versenden personalisierter E-Mails:
Die Benutzeroberfläche der Musterlösung besteht im Wesentlichen aus dem in Bild 1 dargestellten Formular.
Hinweis
Achtung: Die Anwendung prüft vor dem Versand von E-Mails nicht, ob eine Verbindung zum Internet besteht.
Die E-Mail-Funktionen der Musterlösung sind in einer DLL gekapselt, die Sie zuvor auf Ihre Festplatte kopieren und registrieren müssen.
Am besten kopieren Sie diese in das Verzeichnis c:\Windows\System32; dort befinden sich auch die meisten anderen DLLs. Um die Komponente zu registrieren, geben Sie im Ausführen-Dialog von Windows folgende Anweisung innerhalb einer Zeile ein:
RegSvr32.exe c:\Windows\System32\SendMail2.dll
Bild 1: Das Hauptformular des Serienmail-Tools
Bevor man mit dem Serienmail-Tool eine E-Mail an mehrere Empfänger versenden kann, sind eine Reihe von Eingaben zu tätigen.
Bild 2: Absenderinformationen einer Serien-E-Mail
Bild 3: Eingabe des Servernamens und des Ports
Absender-Informationen
Jede E-Mail hat einen Absender. Dieser wird in einer Mail direkt mehrfach benötigt: einmal auf dem „Umschlag“ (aufgrund dieser Informationen können die SMTP-Server die Mail vom Absender zum Adressaten transportieren) und einmal in der Mail selbst. So können Sie auch mit dem Serienmail-Tool verschiedene Absenderangaben machen: Die unter „Von:“ angegebene Adresse ist der Absender auf dem Umschlag, und die beiden Absenderinformationen unter Absendername und Absender-E-Mail können Sie beispielsweise im E-Mail-Client lesen (siehe Bild 2).
Das Sendedatum tragen Sie nur für statistische Zwecke ein, das Tool speichert ohnehin zu jedem Empfänger die exakte Sendezeit mit Datum und Uhrzeit.
SMTP-Server
ähnlich wie bei einem herkömmlichen E-Mail-Client, zum Beispiel: Outlook, müssen Sie auch dem Serienmail-Tool die SMTP-Adresse des Servers mitteilen (bei web.de heißt diese beispielsweise smtp.web.de, bei GMX mail.gmx.de – die passende Adresse erfahren Sie vom jeweiligen Anbieter). SMTP verwendet üblicherweise Port 25 des Servers (siehe Bild 3).
SMTP_AUTH und SMTP after POP
Manche SMTP-Server sind durch die eine oder andere Art der Authentifizierung vor dem unbefugten Zugriff geschützt. Die gängigsten Varianten sind SMTP after POP und SMTP_AUTH.
Bei SMTP after POP muss man sich vor dem Versenden von E-Mails via SMTP am POP3-Konto angemeldet haben, um eingegangene E-Mails abzurufen.
Bei SMTP_AUTH meldet man sich mit einem eigens für das Versenden vorgesehenen Kennwort beim SMTP-Server an. Das Serienmail-Tool sieht beide Möglichkeiten vor. Die notwendigen Einstellungen nehmen Sie in dem in Bild 4 gezeigten Bereich des Hauptformulars vor. Die Option Keine ist angemessen, wenn Ihr SMTP-Server keine Authentifizierung vornimmt, etwa, weil er ohnehin jedem Rechner im eigenen LAN zu Diensten ist. Die Auswahl von SMTP after POP3 aktiviert die beiden Textfelder Kennwort und POP3-Server – hier müssen Sie die notwendigen Daten eintragen. Welche dies sind, erfahren Sie vom jeweiligen E-Mail-Provider oder in den Einstellungen Ihres Mail-Client, wenn dieser schon konfiguriert ist. Die gesuchten Informationen finden Sie etwa bei Outlook, wenn Sie unter Extras/E-Mail-Konten… auf „Vorhandene E-Mail-Konten anzeigen oder bearbeiten“ klicken.
Bild 4: Das Serienmail-Tool bietet verschiedene Authentifizierungsmöglichkeiten.
Die Option SMTP_AUTH wiederum erfordert lediglich die Angabe eines Kennworts. Bei einigen Providern entspricht dieses Kennwort dem POP3-Kennwort.
Bild 5: Plaintext und HTML-Text für die Serienmail
Bild 6: HTML-Ansicht der Serienmail
E-Mail-Inhalt
Die meisten E-Mails enthalten entweder reinen Text oder HTML-Text. Mit reinem Text macht man nichts falsch, dieser wird von allen E-Mail-Clients ohne Probleme angezeigt. HTML-Mails können unter Umständen Probleme verursachen, wenn der Inhalt wegen der Formatierungen „zerschossen“ wird oder die Anzeige von HTML im Mail-Client des Empfängers ausgeschaltet ist.
Das Serienmail-Tool erlaubt die Verwendung beider Formate. Dabei können Sie entweder festlegen, dass alle Empfänger mit dem gleichen Format versorgt werden oder das Format für jeden Empfänger individuell festlegen.
Der passende Bereich des Formulars frmSerienmail sieht wie in Bild 5 aus. Mit der Option Standardformat legen Sie fest, ob normalerweise der Inhalt des Feldes Inhalt (Plaintext) oder der des Feldes Inhalt (HTML) als Inhalt der Mail verwendet wird. „Normalerweise“ deshalb, weil Sie das verwendete Format auch individuell je Empfänger festlegen können – dazu später mehr.
Wenn Sie auf die Schaltfläche HTML-Ansicht anzeigen klicken, erscheint ein separates Formular mit der passenden Darstellung (siehe Bild 6).
Empfänger-Informationen festlegen
Es fehlen noch die Informationen, welche Adressaten die Serienmail erreichen soll.
Diese Daten müssen Sie in einer Tabelle bereitstellen, die in jeder Zeile zumindest die folgenden Felder enthält:
Optional kann ein weiteres Feld festlegen, ob der jeweilige Empfänger die E-Mail im HTML- oder im Plaintext-Format erhalten soll.
Für personalisierte Serienmails, in denen Sie etwa den Empfänger mit Vor- und Nachnamen anreden möchten, muss die Tabelle ebenfalls die passenden Daten liefern. Bild 7 zeigt ein Beispiel für den Aufbau einer solchen Tabelle.
Bild 7: Beispiel einer geeigneten Datenherkunft für das Serienmail-Tool
Die Ermittlung der zu verwendenden Informationen erfolgt in den folgenden Schritten:
Fertig! Mit diesen Einstellungen können Sie bereits die erste Serienmail verschicken.
Personalisierte Serienmails
Vermutlich wollen Sie den Inhalt der Serienmail mit einigen dynamischen Elementen füllen – etwa, um den Empfänger mit „Sehr geehrter Herr Minhorst“ persönlich anzusprechen.
Dazu sieht das Serienmail-Tool den Einsatz von Platzhaltern vor, die es zusammen mit den Mails in der Datenbank speichert. Um die Platzhalter festzulegen, müssen Sie zwei Voraussetzungen erfüllen:
Ist dies beides erfüllt, klicken Sie einfach auf die Schaltfläche Platzhalter aktualisieren. Das Unterformular mit der überschrift Quellfelder der Platzhalter listet dann in der linken Spalte alle in den Mail-Inhalten gefundenen Platzhalter auf – also alle in eckigen Klammern eingefassten Zeichenketten. In der rechten Spalte können Sie eines dieser Felder auswählen. Dessen Inhalt wird dann vor dem Verschicken für den entsprechenden Platzhalter eingesetzt (siehe Bild 8).
Wenn Sie den Inhalten nachträglich Platzhalter hinzugefügt haben, können Sie entweder erneut alle Platzhalter einlesen, wobei alle angegebenen Quellfelder gelöscht werden, oder den neuen Platzhalter manuell in die Liste eintragen.
Bild 8: Die Empfänger-Informationen enthalten auch die Einstellungen für die Platzhalter in personalisierten E-Mails.
Bild 9: Weitere Funktionen des Tools: Versenden der Mail, Kopieren eines Newsletters und Anzeigen der Empfängerliste
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
den kompletten Artikel im PDF-Format mit Beispieldatenbank
diesen und alle anderen Artikel mit dem Jahresabo