BulkMailer Feedback Module Help


The BulkMailer Feedback Module is part of the BulkMailer application. It can be run from the BulkMailer menu "Extras->Feedback Module.."

BulkMailer Feedback-Module Screenshot

The Feedback Module is for automated handling of returned mails.

The program retrieves mails from a particular POP3 postbox and then carries out certain actions – depending on freely-defined filters:

  • Entering of the sender in a BulkMailer address database (subscribe)
  • Entering of the sender in the exclusion list (unsubscribe)
  • Bounce-Management
  • Forwarding / rerouting of the mail to another address
  • Execution of a program

The message can thereby be either retained on the server or deleted. The procedure can be activated at preset intervals.

Offer an "unsubscribe" option in your mass mailings

In every mass mailing, you should offer the recipients the option of having their names deleted from the mailing list. At the end of your message, for example, you could include something along the lines of the following sentence:

If you do not wish to receive any further messages from us, please answer this mail with the word "unsubscribe" in the subject line.

You can create a link like this in your HTML email:

<a href="mailto:newsletter@example.com?subject=unsubscribe">
Unsubscribe from Newsletter</a>

The Feedback Module can then add the sender of this mail automatically to the exclusion list.

Set up a "subscribe" function for your Newsletter on your Homepage

A simple link makes this possible:

<a href="mailto:newsletter@example.com?subject=subscribe">
Subscribe to Newsletter</a>

It then appears in the email as follows: Subscribe to Newsletter
Usually the recipient's e-mail program should open on click, having the subject line pre-filled with 'subscribe'.

Advanced Subscription

A more advanced way to process subscriptions is to let the web-server send these mails by a CGI Script. The BulkMailer Feedback Module is able to parse such mails and read further form-fields.

Please see the documentation to the Form Parser



The best option is to have an extra email account available for the response mails, e.g. newsletter@example.com. This account should also be used in the Bulkmailer application as the email sender-address, so that response mails are returned to this account.

You then retrieve mails from this account exclusively with the Feedback Module. Messages can thereby be forwarded to a different mail account.

If you have no additional mail account available, then you must take care to ensure that certain mails (namely those with "subscribe" and "unsubscribe" listed in the subject line) cannot be retrieved by a different email client. Practically all modern messaging clients (Outlook, Netscape) do also provide mail filters. You will need to set up mail filters accordingly in order to retain these messages on the Server.

Basic Settings in the Feedback Module

Most settings are applied from the BulkMailer settings when the program is started for the first time.

Enter here the name of your POP3 Server from which the mails are to be retrieved.

Enter here the connection data which are to be used for the forwarding and rerouting of mails.

Select the database file (*.bm3) to which addresses are to be added.

Select the Exclude database file (Exclude.mdb). This file is located in the BulkMailer program directory

First select this item and then a time interval at which the program is to retrieve and process mails from the POP3 Server.

Saving the Settings

Then click on "Save", in order to save your settings.

The settings are saved as a profile in an INI file. You can save several profiles with different settings in different INI files.



Up to 20 actions can be freely defined according to your requirements.

Each action is made up of 3 parts:

  1. a Condition
  2. an Action, which is carried out when this condition is fulfilled
  3. Additional Options (Cancel, Delete message from server)

Select "New Action", in order to insert a new action right before the currently selected action.

Select "Delete action" to delete the currently displayed action.

Use the arrow buttons to shift the currently displayed action up or down.

Position matters: The actions are later processed in sequence from the first to the last.

Action: Condition


This function attempts to detect emails which are returned as "undeliverable". About a half of the bounce-mails come from your own mail-server, the other half from the recipient's mail-servers. Some bounce-mails will return immediately, others may last several days. This also depends upon how the mail-servers are configured. Some servers repeat to deliver the mail for several days, in case of errors.

Select "Bounce detection" usually in combination with "Add sender to exclusion database" for the Action. By this, all permanently undeliverable email addresses will be added to the BulkMailer exclusion list.

Unfortunately, very most of the bounce-mails don't follow a standard. The program looks up some distinct key-words within the bounce-mail, and then finds an email address close to it. The program tries to distinguish between Hard-Bounces and Soft-Bounces. Hard-Bounnces are addresses, which are permanently undeliverable, such as "Unknown Host". Soft-Bounnces are temporary undeliverable addresses, such as "Out Of Quota". Only Hard-Bounces are excluded from further sending by the bounce-management.

For the reason, that bounce-mails are not standarized, the detection cannot be 100%. In practice you should achieve a very satisfying rate of far above 90%. When too many emails could not be detected successfully, you could extend the key-words list in the file "bounce.cfg", which you can find in the BulkMailer program directory.

Today, many mail-servers count your tries to deliver invalid addresses. When trying too often, your mails could be classified as SPAM, because a human wouldn't do that. So it's worth to get rid of undeliverable addresses as soon as possible in order to maintain a clean list.


Condition: Search string

In most cases, a simple search string is sufficient for the condition. It can have one of the following scopes:

  • in the sender address
  • in the subject line
  • in the entire message text.

The condition is fulfilled when the search string appears at least once. The comparison is case-insensitive.

If you leave the field for the Search string empty, then this condition is always fulfilled. This is by default used with the very last action, to catch all other mails, which have not been processed by any other action.

Regular Expressions

You can generate complex character sequence comparisons with the help of what is known as a Regular Expressions. This involves a powerful and standardized syntax for Pattern-Matching which cannot be described here in complete detail.

Testing Regular Expressions

Because the generation of Regular Expressions is always somewhat tricky, the program offers a test function to make this task easier. Once you have entered a Regular Expression, enter a comparison term in the field "Test" and click on "Test RegExpr.".

Action: Action

The following Actions are currently available in the Feedback Module:

No Action is useful in connection with the option "Delete message from Server"

The e-mail address of the sender is added to the exclusion list. For this you need to select the Exclude Database under "Settings".

The e-mail address of the sender is added to the address database. For this you need to select an Address Database under "Settings".

The e-mail is forwarded to the specified address. Information concerning date, sender and recipient is supplied with the message text.

The e-mail is rerouted to the specified address. The message text is not changed thereby.

The specified program is executed. Parameters can be transmitted thereby per command line. Some parameters are available as macros; cf. the caption after the question mark.

The feedback module is waiting for the program to be executed (with a time-out). The Exit Code of the program executed is then evaluated afterwards. The action is successfully completed when Exit Code = 0.

You can also execute WSH/VBS scripts here. If you have knowledge of VBS programming, this will allow you to manage complex tasks easily. You can access the current e-mail as a text file while the program is being executed.

Reads contents from an online-form and inserts data to the address database.
Read more.

Further Options

Two options are available when the condition is fulfilled:

After all actions have been processed through, the message is deleted from the Server. (You can also use the Feedback Module and execute actions without deleting the messages from the Server!)

No further actions will be executed after this action, insofar as the condition is fulfilled.

Form Parser


The form parser parses data from HTML forms and adds new records to the BulkMailer address database.

  • You have a HTML form on your website
  • Your webserver sends a email in a defined format using a CGI script
  • The BulkMailer Feedback Module receives this mail and adds the data to the address database

Specifications according the HTML-Form

Your HTML-Form contains (some of) the following Fields:

Name of the Form-Field Description Type Required
EMAIL EMail Address text X
UNSUBSCRIBE Button 'Unsubscribe' submit X
SUBSCRIBE Button 'Subscribe' submit X
GROUP Group-ID, see ID-Column in 'Edit Groups' hidden, select  
PREFERENCE Preference: HTML (H) or Text (T) hidden, select  
GENDER Gender: F or M select  
TITLE ... text  
FIRSTNAME ... text  
SECONDNAME ... text  
LASTNAME ... text  
NICKNAME ... text  
PRIVATE_STATE ... text  
PRIVATE_CITY ... text  
PRIVATE_PHONE ... text  
PRIVATE_FAX ... text  
BUSINESS_COMPANY Company Name text  
BUSINESS_CITY ... text  
BUSINESS_FAX ... text  
USER1 User Defined Field 1 text  
USER2 User Defined Field 2 text  
USER3 User Defined Field 3 text  
USER4 User Defined Field 4 text  
USER5 User Defined Field 5 text  
INTEREST Interests (multi) text, Comma-separated  
DISTRIBUTION Distribution List (multi) text, Comma-separated  

Specifications according the serverside sent email

Your web-server sends an email by CGI-Script with the following message body:


*) Attention: Line breaks in emails must be \r\n. Some PHP scripts will only add a line-feed \n which is wrong and will not work.

Most web-hosting providers offer a form-template script, which sends an email formatted exactly this way. Or the script can be easily configured to do so. All you have to do then, is to include this script with your form and to name your form fields according to the list above.

You choose a subject line for the outgoing emails, which can be easily filtered later by the Feedback Module.

Configuring the Feedback Module

Condition: Subject contains string [Your Subject Line]
Action: Form Parser

Typical Example

Below a typical example of a Feedback Module configuration:

  1. Undeliverable mails are to be added to the exclusion list
  2. Mails with the word "unsubscribe" as subject are to be added to the exclusion list
  3. Mails with the word "subscribe" as subject are to be added to the address database
  4. All other mails are to be forwarded to another e-mail account
  5. The mails should then be deleted from this mail account.

In order to achieve this, you need 4 Actions:

  • Condition check Bounce Detection
  • Action: Add sender to exclusion list
  • Delete Message from Server
  • No further Actions
  • Contains search string: unsubscribe
  • Search in Subject
  • Action: Enter sender in Exclude Database
  • Delete message from Server
  • No further actions
  • Contains search string: subscribe
  • Search in Subject
  • Action: Enter sender in Address Database
  • Delete message from Server
  • No further actions
  • Contains search string: [leave field empty]
  • Action: Forward mail
  • Enter the desired address (another e-mail address)
  • Delete message from Server
  • No further actions


Follow the sequence. This is important, because the word subscribe is contained in the word unsubscribe.

When forwarding emails, ensure that you don't create mail-loops, where the mail servers start playing ping-pong.


The Feedback Module is implemented as a stand-alone application which you could also run isolated from BulkMailer, e.g. as a service on your MS-Windows server.

Start Parameters

The program understands the following command line parameters:

  • File name to the configuration file (*.ini)
  • -run
  • -runonce

Separate parameters with blank spaces when specifying more than one.