BulkMailer kann beim Generieren der Emails VBScript-Code innerhalb des Mailtextes ausgeführen. Sie können dadurch den Inhalt jeder einzelnen Email durch eigene Programmierung steuern.
Hierbei geht es um Scripte, die im BulkMailer im Schritt Mailing generieren ausgeführt werden können, um die Email zu personalisieren. Die ausgehende Mail enthält dann keinerlei Scripte mehr.
Durch zwei BulkMailer Script-Objekte greifen Sie dabei auf die Objekte der Email zu. Dadurch können Sie
- Text ausgeben
- Dateianhänge an die Email anhängen
- die Betreffzeile modifizieren
- Texte/Textbausteine aus Dateien laden
- auf den aktuellen Datensatz zugreifen
Sie können dadurch beispielsweise folgende Aufgaben bewältigen:
- Alle Empfänger der Domain xyz.de erhalten einen anderen Textinhalt
- Alle Interessenten für das Produkt xyz erhalten eine Produktinformation als Dateianhang
- [..]
Voraussetzungen
Sie benötigen wenigstens geringe Programmierkenntnisse in VBScript.
Script-Block Maskierung
Ein Script-Block wird durch die Zeichenfolge
<% Script-Code %>
maskiert. Eine Email kann mehrere Script-Blöcke enthalten
Innerhalb dieser Markierung kann beliebiger VBScript-Code angegeben werden.
- In einer Nur-Text Mail fügen Sie diesen Script-Block direkt in den Nachrichtentext ein
- In einer HTML-Mail fügen Sie den Script-Block in den HTML-Quelltext ein
Beispiele:
Zahlen von 1 bis 100
<%
For i = 1 To 100
Email.Textout i & vbCrLf
Next
%>
Aktuelles Datum
<% Email.TextOut FormatDateTime(Now, 1) %>
Das Email-Objekt
Innerhalb des Script-Codes steht Ihnen das Email-Objekt mit folgenden Methoden und Eigenschaften zur Verfügung:
Email.Textout "Zeichenkette"
Ausgabe der Zeichenkette
Email.Subject = "Betreff"
Betreff lesen/ändern
Email.AttachFile "Dateipfad"
Datei anhängen
Email.LoadTextfile "Dateipfad"
Den Inhalt der Textdatei an dieser Position einfügen
Email.Cancel
Diese Email nicht weiter generieren, nicht zum Postausgang zufügen
Das Record-Objekt
Record("Spaltenname")
Rückgabewert: Inhalt des aktuellen Wertes aus dieser Spalte als Text.
Record.Value("Spaltenname")
Rückgabewert: Inhalt des aktuellen Wertes aus dieser Spalte als Variant.
(Kann NULL-Werte, Zahlenwerte, etc. enthalten)
Die BulkMailer Adressdatenbank verwendet intern andere Spaltennamen, als in der Anwendung angezeigt. Eine Auflistung der Spaltennamen finden Sie im Anhang.
Beispiele
Empfänger der Domain "xyz" erhalten einen Textbaustein aus einer Datei
<%
If InStr(1, Record("Email"), "@xyz", vbTextCompare) <> 0 Then
Email.LoadTextfile "d:\mails\abc.txt"
Else %>
Standard Mailtext
<% End If %>
Interessenten des Produktes "xyz" erhalten einen Dateianhang
<%
If Record("InteresseXYZ") = True Then
Email.AttachFile "d:\produktinformation\produktxyz.pdf"
End If
%>;
*(Ihre Datenbank enthält eine Spalte "InteresseXYZ" vom Typ Bool)
Gratulation an Empfänger, die in der letzten Woche Geburtstag hatten
<%
' --- Geburtstag berechnen
If IsDate(Record.Value("Birthday")) Then
Const CDays = 7 ' --- kann angepasst werden
Dim dtBirthDay
Dim lDiff
dtBirthDay = DateSerial(Year(Now), Month(Record.Value("Birthday")), Day(Record.Value("Birthday")))
' --- Überlauf berücksichtigen
If 365 - DateDiff("d", Now, dtBirthDay) <= CDays Then
dtBirthDay = DateAdd("yyyy", -1, dtBirthDay)
End If
lDiff = DateDiff("d", Now, dtBirthDay)
If lDiff <= 0 And lDiff >= -CDays Then ' hatte in den letzten 7 Tagen Geburtstag
' --- Textbaustein einfügen
Email.LoadTextfile "d:\Geburtstag.txt" ' --- muss angepasst werden
End If
End If
%>;
VBScript Sprachreferenz
Eine Sprachreferenz zu VBScript finden Sie in der
MSDN Library
Hinweise zum Markenschutz
VBScript ist eine Technologie der Firma Microsoft. Dank der hervorragenden Schittstellen zu dieser Technologie ist eine Integration in diese Anwendung möglich gewesen.