Serienmails mit Access

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:

  • Einbinden beliebiger Adresstabellen aus verschiedenen Anwendungen als Grundlage für den E-Mail-Verteiler
  • Speichern sämtlicher Inhalte und Header-Informationen in der Datenbank
  • Erstellen neuer E-Mails auf Basis älterer Schreiben
  • Versenden reiner Text-Mails
  • Versenden von HTML-Mails
  • Individuelles Festlegen des Sendeformats für jeden Empfänger
  • Darstellung von HTML-Mails
  • Personalisieren von E-Mails durch Platzhalter, die an beliebige Felder der Datenherkunft mit den E-Mail-Adressen gebunden werden können
  • Protokollieren des Postversands mitsamt Angaben zu Empfänger und Sendezeit
  • 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:

  • Primärschlüsselfeld
  • Feld mit der E-Mail-Adresse
  • 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:

  • Zunächst stellen Sie eine Tabelle oder Abfrage bereit, aus der das Tool die E-Mail-Adressen beziehen soll. Dabei kann es sich durchaus um eine verknüpfte Tabelle handeln.
  • Legen Sie die Tabelle oder Abfrage mit den E-Mail-Adressen im Kombinationsfeld Tabelle des Hauptformulars fest (siehe Bild 8).
  • Diese Auswahl aktualisiert den Inhalt der Kombinationsfelder mit der Beschriftung Primärschlüsselfeld und Feld der E-Mail-Adresse und füllt diese mit allen in der Tabelle enthaltenen Feldern. Wählen Sie hier die passenden Felder aus.
  • Wenn die Tabelle ein Feld enthält, das je Empfänger angibt, ob die E-Mail im HTML- oder im Plaintext-Format versendet werden soll, stellen Sie die Option HTML individuell auswählen auf Ja ein.
  • Haben Sie die Option im vorherigen Schritt auf Ja eingestellt, wählen Sie im Kombinationsfeld Feld HTML Ja/Nein noch das Feld aus, das einen passenden Booleschen Wert enthält. (
  • 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:

  • Die im Kombinationsfeld Tabelle ausgewählte Tabelle enthält für jeden Platzhalter eine Spalte mit den einzufügenden Inhalten.
  • Der Plaintext- und der HTML-Inhalt weisen in eckige Klammern gesetzte Platzhalter auf (diese müssen nicht unbedingt in beiden Formaten auftauchen).
  • 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

    Schreibe einen Kommentar