use incremental hard bounce threshold = 'NO'
incremental hard bounce threshold = '3 TIMES'
use incremental soft bounce threshold = 'NO'
incremental soft bounce threshold = '5 TIMES'
If you are using incremental bounce processing to manage multiple mailing lists that have significantly different posting rates, then it is possible that bounces from the higher-posting-rate mailing list are taking longer to be removed than is absolutely necessary.
As an example of this, suppose you are managing bounces from two mailing lists: An announcement-style mailing list with one post per week, and a discussion list that sees at least a few posts per day. In order to avoid losing sync with the bounces from the once-a-week announcement list, let's suppose that you set up incremental bounce processing to process a super-group once a week, with a hard-bounce threshold of two weeks and a soft-bounce threshold of three weeks. This means that any soft-bouncing address on the busy discussion list will require at least three weeks for removal. Ideally, you'd like to remove an address like this after, say, four or five days of soft bouncing, rather than wait three weeks.
With incremental thresolds, it is now possible to remove addresses that are repeatedly bouncing within super-groups. Suppose you are processing bounces every day, and you want to remove the soft-bouncing address in the case above after (say) four days of bouncing. Since you are processing bounces every day, you would need to set an incremental threshold of four times. The following entries in the Preferences file will do this:
use incremental soft bounce threshold = 'YES'
incremental soft bounce threshold = '4 TIMES'
This setting will remove any soft-bouncing address that bounces at least once a day for four consecutive days (i.e., "four times") within a super-group.
If you wanted to remove hard-bouncing addresses after two consecutive bounces, you would configure the settings for this option as follows:
use incremental hard bounce threshold = 'YES'
incremental hard bounce threshold = '2 TIMES'
Note that, at this time, the only setting option for incremental thresholds is the 'TIMES' setting; i.e., there are no 'DAYS' or 'WEEKS' settings. Also, there are no "fuzzy" incremental thresholds. These might be implemented in future releases (based on demand).
Finally, it is important to know that there are some risks associated with incremental bounce processing. As an example, consider the case discussed above, where bounces are being processed simultaneously from a busy discussion list and a once-a-week announcement list. In that example, if an address on the discussion list hard bounces just one time each week for two weeks, or soft bounces just once each week for three weeks, then it will meet the primary tracking threshold and will be removed from the list. However, if bounces from the two lists were being processed separately, then the address would not have been removed. For this reason, it is best to "group" bounces only from lists that have similar posting rates.
use trigger file = 'NO'
trigger file name = 'mailbounce_trigger_file.txt'
delete trigger file = 'NO'
These settings allow you to enable or disable the "trigger file." This file is used to control the execution of MailBounce, as follows: If the trigger file is present and is not empty (i.e., the file contains at least one character), then MailBounce will execute normally. If the file is either empty or missing, then MailBounce will not run.
An example of the use of this file is to control processing on a mailing list that has a relatively low posting rate. You can set up a mailbox and subscribe it to the mailing list; then, if at least one message has posted to the list since the last time that MailBounce ran, the spool file for that mailbox will be non-empty, which will cause MailBounce to run normally. If no posts have occurred on the list, then the spool file will be either missing or empty (depending on the mail system used), which will prevent MailBounce from running. (In short, MailBounce will not run until the next time a message is posted to the list.)
In order to enable this option, you must configure the your settings as follows:
use trigger file = 'YES'
trigger file name = 'mailbounce_trigger_file.txt'
Of course, you may select any appropriate file name for the trigger file. You may also include paths on the file name.
The last option is DELETE TRIGGER FILE:
delete trigger file = 'NO'
When set to 'YES', this option will cause your trigger file to be deleted if the file is present and is not empty. (That is, if MailBounce executes on that pass, then it will delete the trigger file. If the file is present but is empty, it will not be deleted.)
use verp = 'NO'
verp preamble = 'verp-preamble-string-' ! max 127 chrs
verp address encoding string = '#' ! max 19 chrs
If your outbound mail employs Variable Envelope Return Path (VERP) --
i.e., you generate unique outbound e-mails for each recipient, and
the MAIL FROM: transaction in the SMTP session provides a unique
value that has the individual subscriber address encoded into it --
then you can use this feature to have MailBounce extract and decode
the subscriber address.
The first step in configuring MailBounce for VERP is to set USE VERP
to 'YES'. After that, you must tell MailBounce how to parse and
decode the VERP address. Let's consider a simple example of a
VERP-style address in the Return-Path: header:
Return-Path: <bounces-web-example#host.mailbounce.biz@mailing.list.net>
In this example, "web-example@host.mailbounce.biz" is the subscriber address. In order to properly extract that address from the Return-Path:
header, MailBounce must be able to identify and remove the preamble
(in this case, "bounces-") that precedes the subscriber address, and
must also convert the encoding character (in this case, a pound sign
"#") back to the standard "@" sign. Setting the following values will
accomplish this:
use verp = 'YES'
verp preamble = 'bounces-'
verp address encoding string = '#'
With these settings, MailBounce will extract the address as "web-example@host.mailbounce.biz".
Other VERP schemes are possible. Currently, MailBounce is not compatible with VERP schemes that encode the subscriber address via a hash or other coding scheme in which the encoded address is not in a "standard" e-mail address format.
Note that the maximum length of the preamble is 127 characters, and the maximum length of the encoding string is 19 characters. Actual preambles and encoding strings should be considerably shorter than these maximums.
use custom header = 'NO'
custom header = 'X-Custom-Header:' ! max 127 chrs
As an addition or as an alternative to VERP, there is the option of
using a custom message header that contains the subscriber's address. The custom header may use any format, though nonstandard SMTP headers should begin with "X-" to ensure that they do not collide with standard SMTP headers.
As an example, suppose your outbound e-mail messages encode each subscriber's address in a custom header as follows:
X-Subscriber-Address: web-example@host.mailbounce.biz
In this case, you could use the custom header feature as follows:
use custom header = 'YES'
custom header = 'X-Subscriber-Address:'
MailBounce will then extract the address "web-example@host.mailbounce.biz" from the header.
Note that the subscriber's address doesn't necessarily have to appear in an SMTP header for this feature to work; the address merely needs appear in conjunction with a unique string anywhere in the message. For example, suppose you have a message footer similar to the following:
You are subscribed as <web-example@host.mailbounce.biz>.
In this case, you could use the custom header feature as follows:
use custom header = 'YES'
custom header = 'You are subscribed as'
MailBounce will extract the address "web-example@host.mailbounce.biz" from the footer. Angle brackets are not necessary around the address; MailBounce will extract the address as long as any valid delimiter (such as a space) exists between the address and the "trigger" text.
Note that the e-mail address must appear on the same line as
the header string (or whatever string you are using) so that
MailBounce can extract the address as soon as it spots the trigger
text.
When selecting trigger text, it is important that the selected text is not likely to occur naturally within an e-mail message.
The maximum length of the custom header string (not including the
recipient's e-mail address) is 127 characters; in most cases, that
should be quite sufficient. Be sure to avoid using long strings that
might wrap or might cause the e-mail address to be split or truncated
by a mail gateway. Shorter strings tend to perform better.
notify when finished = 'NO'
notify if new server files created = 'NO'
These options will instruct MailBounce to create notification files
for the purpose of process synchronization. (For example, if you want
your perl wrapper to mail out the server and BCC files only if
a new server file has been written.)
If you set the NOTIFY WHEN FINISHED option to 'YES', then when
MailBounce finishes running, it will create a file named
"all_finished.txt" in the current default directory. Also, if the
"all_finished.txt" file is present in the directory when MailBounce
starts up, it will automatically delete the file.
If you set the NOTIFY IF NEW SERVER FILES CREATED option to 'YES',
then if MailBounce updates at least one server file, it will create a file named "server_files_updated.txt" in the current default directory. Also, if the "server_files_updated.txt" file is present in the directory when MailBounce starts up, it will automatically delete the file. If you
are running a multi-list configuration, then the notification file
will be created if one or more of the server files has been written;
this means that there can be one or more server files that were
not updated, even though the notification file was created.
The notification file names are currently fixed, though they can be
made user-definable in a future release if there is demand for such a
feature.