This example demonstrates how to send an email using the mail merge features in NetMailBot, specifically how to personalize the fields: to, from, subject, and message body. The premise is reporting of contest results. The database used is a text file in CSV format (comma delimited file) which contains some sample data.
NOTE: You should change the email addresses in the CSV text file to your own email address(es) before running a test.
Windows 95 / 98 Users: Make sure you have the latest ODBC drivers installed on your machine.
Prepared Example Files
The -bodyfile parameter in NetMailBot uses full paths. We have assumed a particular path as shown in the batch file contents below. Therefore, download this file to C:\tmp on your hard drive or edit the parameters to reflect wherever you unzip the archive.
The archive contains three files:
- MailMergeCSVCustomText.bat - The batch file that will instruct NetMailBot to send the email message.
- data.txt - The CSV file that contains the mail merge data.
- body.txt - The message body.
This is the content of the batch file:
netmailbot -to ignored -from "<<from>>" -subject "<<subject>>" -server localhost -logfile c:\tmp\log.txt -dsn "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\tmp\;Extended properties=Text;" -dbquery "SELECT * FROM data.txt" -dbemailcolumn "to" -dbreplacementids "<<name>>=name,<<from>>=from,<<to>>=to,<<subject>>=subject" -bodyfile "c:\tmp\body.txt" -personalize -debug
The data file contains:
email@example.com,firstname.lastname@example.org,John Smith,You win
email@example.com,firstname.lastname@example.org,Mike White,You lose
email@example.com,firstname.lastname@example.org,Tom Blue,Tie game
Here is the body.txt file:
This email is from <<from>>
This email is to <<to>>
The outcome of the game is: <<subject>>
- Unzip the MailMergeCSVCustomText.zip file. This will produce a directory called "MailMergeCSVCustomText". Open this directory.
- Open the data.txt file.
- Change all of the email addresses to your email address (for the purposes of this test run, they can all be the same).
- Save and close the data.txt file.
- Open Notepad and edit the batch file "MailMergeCSVCustomText.bat". Note these important parameters used in the batch file:
- Change the parameters: -to email@example.com -from firstname.lastname@example.org to your own email address.
- Change the parameter: -server localhost to your own mail server.
- Note the use of -dsn "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\tmp\;Extended properties=Text;". This is a normal connection string that instructs NetMailBot on how to connect to the data.txt file. If you have not unzipped the archive to C:\tmp, you will have to edit this accordingly.
- -dbquery "SELECT * FROM data.txt" instructs NetMailBot to select all of the data from the file data.txt. This file is considered to be a pseudo database table.
- -dbemailcolumn "to" instructs NetMailBot to use the data in the "column" named "to" to address the message to the data contained in that column for the current row. This overrides the -to parameter, which is why we've put "ignored" in it.
- The parameter -bodyfile "C:\tmp\bodyfile.txt" instructs NetMailBot to use the contents of the file body.txt as the email message body.
- -dbreplacementids "<<name>>=name,<<from>>=from,<<to>>=to,<<subject>>=subject" instructs NetMailBot to replace the strings in double-angle brackets with the data contained in the mapped column for the current row. For example, in the message body, NetMailBot will replace the string <<name>> with the data contained in the column named "name", and will replace the string <<from>> with the data contained in the column named "from", and so on.
- -personalize instructs NetMailBot to make the replacements. Without this parameter specified, NetMailBot will not perform any replacements.
- Invoke the batch file by double-clicking the icon or straight from the command line.
- NetMailbot should start up and, upon finishing, the email addresses specified indirectly via the -dbemailcolumn parameter should each receive a personalized text message.