Scripting

 
BulkMailer can execute VBScript Code within the mail text while the e-mails are being compiled. This means that you can control the contents of each individual email with your own programming.

You access the objects of the e-mail thereby by means of two BulkMailer script objects. As a result of this, you can

  • output text
  • attach file attachments to the e-mail
  • modify the subject line
  • load texts/templates from a file
  • access the current data record

This means that you will be able to manage the following tasks, for example:

  • all recipients of the domain xyz.de receive a different text content
  • all of those interested in the product xyz receive product information as an attachment
  • [..]

Prerequisites

You will need at least some programming skills of VBScript.

Kroll-Software cannot offer any support for VBScript programming. We would however be happy to advise you of the available possibilities and to give you brief indications as to whether or not you can implement a particular requirement and how to go about doing so.

Script Block Masking

A Script Block is masked by the following character string:

<% Script-Code %>

An e-mail can contain several Script Blocks. Any VBScript-Code can be specified within this marking.

  • In a PlainText mail, the script block is inserted directly into the email message
  • In a HTML mail, the script block must be inserted into the HTML source code
Examples:
Numbers from 1 to 100:
<%
For i = 1 To 100
    Email.Textout i & vbCrLf
Next
%>

Current Date: <%Email.TextOut FormatDateTime(Now, 1) %>

The Email-Object

The e-mail object is available to you within the Script Code with the following methods and properties:

Output of the character-string read/write the subject Attach a file Insert the contents of a text file at this position Stop generating this e-mail, do not copy it to the outbox

The Record-Object

Return value: contents of the current value from this column as a character-string. Return value: contents of the current value from this column as a variant-type.
(can contain NULL values, numbers, dates, etc.)

The BulkMailer address database internally uses different column names, than shown in the application.
A full listing of the column names can be found here.

Examples

<%
If InStr(1, Record("Email"), "@xyz", vbTextCompare) <> 0 Then
    Email.LoadTextfile "d:\mails\abc.txt"
Else%>
    Standard Text
<%End If%>

<%
If Record("InterestXYZ") = True Then
    Email.AttachFile "d:\productinformation\productxyz.pdf"
End If
%>

*(your database contains a column "InterestXYZ" of the boolean type)

<%
' --- Calculate birthday
If IsDate(Record.Value("Birthday")) Then
    Const CDays = 7 ' --- can be changed
    Dim dtBirthDay
    Dim lDiff
 
    dtBirthDay = DateSerial(Year(Now), Month(Record.Value("Birthday")), Day(Record.Value("Birthday")))
 
    ' --- Overflow at end of year ?
    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 ' birthday was in the last 7 days
        ' --- Insert textfile with congratulation
        Email.LoadTextfile "d:\birthday.txt" ' --- must be changed
    End If
End If
%>

VBScript Language Reference Guide

A language reference guide to VBScript can be found in the
MSDN Library

 

Notes concerning protection of registered trademarks
The VBScript technology is the property of the Microsoft Company. Integration into this application has been possible thanks to the outstanding interfaces available with this technology.

 
 


Copyright (c) by Kroll-Software, Zug/CH 1999-2010