If you haven't downloaded the BounceHandler.vbs file yet, then you'll want to return to the first page of this article and download it. Click here
to return to the first page.
In this section, I'll show you how to configure the BounceHandler.vbs script to you needs. If you haven't already, then you'll want to open the BounceHandler.vbs script in your favorite vbscript text editor. If you don't have a vbscript text editor, then just use notepad.Step 1 - Configure Database Path
The first thing you need to do is tell the BounceHandler.vbs script where your MS Access database file is located. My Access database is called email.mdb, and it's located in my "c:\temp" folder (Full path is: "c:\temp\email.mdb"). The path to your Access database may be different. There is a variable near the top of the script called sDbPath (see image below). You'll need to set this variable to be the path of your Access database.
Step 2 - Configure Bounce Category Action Variables
There are 4 action variables that you can edit based on the type of bounce each message is. The variables and their descriptions can be found in the following table:
||True or False
||You may want to forward certain types of messages to yourself, or to someone else in your organization. For instance, I forward all NB and CR type messages to a real person within our company. Setting this variable to "True" tells the script to perform the "Email Forwarding" block of code further down in the script.|
||True or False
||This variable should be set to "True" when the message is a subscription request type message (i.e. SR or UR). Setting this value to "True" tells the script to perform the "Handle Subscription Request" block of code further down in the script.|
||True or False
||This variable should be set to "True" when the message is an email bounce. When set to "True", the script will execute the "Update Bounce Counter" block of code further down in the script. |
||The value of this variable is valid only when the "isPerformCounterUpdate" variable is set to "True". The value of this variable tells the script how much the BounceCount field should be incremented.|
The image below illustrates how I've configured my Action Variables for a few of the different email bounce categories. You can configure your action variables however you like, and you may want to make changes to all of the Action Variables within each CASE code block in the script. It's up to you.
Non Bounce (NB) Messages - All "NB" messages will be forwarded to me because the isForwardMessage variable is set to "True".Step 3 - Configure Email Forwarding
Hard Bounce (HB) Messages - The isPerformCounterUpdate variable is set to "True", so the script will increment the BounceCount field, by a value of 3 (iBounceCountIncrement=3), of my EmailList table for the affected email address. All "HB" messages will not be forwarded to me because the isForwardMessage variable is set to "False".
Soft Bounce (SB) Messages - The isPerformCounterUpdate variable is set to "True", so the script will increment the BounceCount field, by a value of 1 (iBounceCountIncrement=1), of my EmailList table for the affected email address. All "SB" messages will not be forwarded to me because the isForwardMessage variable is set to "False".
If you want to forward certain types of messages to a particular email address, then you'll need to change the 3 lines of code highlighted in the image below. These lines of code tell the script where to forward the message too. By default, the script is configured to forward all NB and CR type messages.NOTE:
In order for the email forwarding to work properly, you must have the IIS SMTP Server service installed on the machine that you're running the BounceHandler.vbs script on. If you don't have this installed, then you should set all of your isForwardMessage variables to "False", and deal with the affected email bounce types appropriately.
Step 4 - Test Configuration
Now that you are done configuring the BounceHandler.vbs script to meet your needs, it's time to test it. Test the vbs script by double-clicking on it from Windows Explorer.
Below is a screenshot of some sample data, as viewed from MS Access, in the bBounceLog and EmailList table prior to executing the BounceHandler.vbs script.
If you were able to execute the script successfully, then you should see something that looks like the following after the script has completed (should take less than 1 second). Notice that the values of the Processed field within the bBounceLog table are now set to 1, indicating that the email bounce records have been handled. You can also see that the BounceCount field for certain records in the EmailList table have been incremented, and the StatusId of another record has changed. You may need to close out of the table and then open it again to see the changes.
If everything looks good, then it's time to move on to the next step. In the next step, you'll be configuring the BounceHandler.vbs script to run at a specified time interval via the Windows Task Scheduler.