Auto-Delete= No
Yes,Semi-Auto[,Delay(number)][,Max(number)][,Probe(number)]
Yes,Full-Auto[,Delay(number)][,Max(number)][,Probe(number)]
Yes,Manual[,Delay(number)][,Max(number)][,Probe(number)]
This keyword is available in LISTSERV Lite, but is not full-featured. The behavior in LISTSERV Lite with Auto-Delete= Yes is Auto-Delete= Yes,Semi-Auto,Delay(0),Max(1). Any other settings are ignored. Specifically the passive probing option available in Classic is disabled in Lite.
LISTSERV includes support for automatic deletion of users whose account has expired or whose system has permanently disconnected. When the delivery error is generated by a mailer compliant with RFC821/RFC2821 and the so-called "Notary" format described in RFC1893, LISTSERV may be able to automatically process the delivery error and take action based on the value of the "Auto-Delete=" list header keyword. This includes most modern, popular SMTP mailers.
If the list has been coded "Auto-Delete= No", or if the delivery error is not in LMail format and LISTSERV cannot understand it, LISTSERV simply passes it to the list owner. Otherwise LISTSERV processes the message automatically. The algorithm may be refined in a future version, but at present the following steps are taken whenever the auto-deletion feature is enabled:
When auto-deletion is set to "Full-Auto" or "Semi-Auto":
· LISTSERV looks for "permanent" errors (no such user, no such host, and so on). If the failing recipients are subscribed to the list, LISTSERV removes them and notifies you. No action is required from the list owner.
· If there are permanent errors for users LISTSERV could not find on the list (for instance because the account subscribed to the list is a totally different one which forwards mail to a dead account), or if there are only "temporary" errors (host unreachable for 3 days, system error, disk quota exceeded, and so on), LISTSERV passes the actual error message to the list owner for further disposition if running in semi-auto mode. If running in full-auto mode, the error messages themselves are discarded and the errors only show up as entries in the daily auto-deletion monitoring report.
· When running in full-auto mode, LISTSERV never passes back a delivery error unless it took action on it. This means that certain errors may remain unsolved, as LISTSERV presently ignores temporary errors and some of them are virtually permanent (if the owner of the account has left but for some reason his account was not closed, his disk quota is bound to remain exceeded until someone takes action). Full-auto mode should be used only when the list owner positively does not have the time to handle the delivery errors LISTSERV sends every day.
When auto-deletion is set to "Manual":
· When running in manual mode, the auto-delete monitor informs the list owner of the error(s) and takes no further action on delivery errors.
Some considerations for configuring the auto-delete monitor parameters:
· Setting the Delay(number) option. The default is 4. This is the number of days that a subscriber's mail needs to bounce before he's automatically deleted. If "Delay(0)" is coded, LISTSERV won't wait, but will delete on the first bounce.
Most delivery errors occur on weekends when systems are taken down for maintenance, system administrators are not around to reboot after crashes, and the like. Because of this, most delivery errors only last for 2-3 days and may not be "permanent" even if they seem to be at first.
The nature of delivery errors is such that LISTSERV has no way to establish that a problem has been fixed because it receives only negative acknowledgements when a message bounces. This taken together with the transient, "weekend" nature of most delivery errors indicates that it is not a good idea to set Delay() to a value close to 7. For instance, if Delay(7) and a subscriber's mail regularly bounces on the weekend, LISTSERV will wait until the next weekend to decide whether or not to delete him, at which point the subscriber will bounce mail again and start the process all over. The bottom line is that LISTSERV might as well have gone ahead and deleted the subscriber as soon as the first bounce occurred.
· Setting the Max(number) option. To prevent auto-deletion monitoring from getting out of hand, subscribers are deleted after a specified number of errors regardless of how many days it has been going on. The default is Max(100). This is so LISTSERV won't spend its life monitoring 50 bogus users x 100 messages = 5000 a day. Note that if Delay(0), the setting for Max() is ignored (in effect it is set to Max(1)).
· Setting the Probe(number) option. This parameter tunes the "passive probing" option (beginning with 1.8d). Passive probing operates by turning a certain percentage of your regular list messages into transparent probes that look like a normal message but also double as a probe, rather than sending out the explicit PROBE1 template as in active probing. You enable (or tune) passive probing by adding a ",Probe(xx)" parameter to the Auto-Delete= keyword setting. For instance,
Auto-Delete= Yes,Full-Auto,Probe(30)
where "30" is the number of days to wait between probes for any given user. Subscribers with working mail systems will not see any difference, subscribers with flaky mail systems will occasionally receive a message showing that their mail bounced and saying that they should report the problem to their ISP, and of course plain bad addresses will go away.
In order to disable passive probing you set the probe parameter to 0, i.e.,
Auto-Delete= Yes,Full-Auto,Probe(0)
If you have users who for whatever reason should not be probed, you can deactivate passive probing (and any other renewal you have set for the list) with the SET userid@host NORENEW command. The default for this parameter is Probe(30) for lists up to ~2K subscribers, and Probe(0) for larger lists (because by its nature, probing can be a non-inconsiderable performance hit).
For more information on passive probes, see the Site Manager's Operations Manual.
· When you take a vacation, note that it is best to switch auto-delete to MANUAL. Then do not restore to auto on the day you come back, because you will have a number of subscribers on file ready to be deleted. Wait DELAY+n days before changing back to Full-Auto or Semi-Auto, where n is an adjustment to account for the fact that people don't fix all problems right away at 09.00 on the day your vacation ends. n=2 is a reasonable choice.
The default value is "Auto-Delete= Yes,Semi-Auto,Delay(4),Max(100)" for lists coded "Validate= No" and "Auto-Delete= No" for all other lists.
Note that if you have coded "Delay(0)" and/or "Max(0)", LISTSERV simply deletes any error-generating subscriber it can (generally 95-98%), discards any further errors it does not understand, and does not generate daily monitoring reports. If you want the daily monitoring reports you must code at least "Delay(1),Max(1)".
Errors-To= mon-address1,mon-address2,...
Defines the person or list of persons that are to receive rejection mail for the list. The default value is 'Owners'.
In LISTSERV 1.8e and following, the internet address of the list is explicitly disallowed as an error-receiving address, and attempting to set Errors-To= to the internet address of the list will raise an error. The list should never be configured to receive its own errors as this is guaranteed to cause looping.
It should be carefully noted that there is no way to automatically discard errors without sending them to some address. "Errors-To= No" and "Errors-To= None" are both invalid settings and will cause LISTSERV to revert to the default.
Loopcheck= Normal
Loopcheck= Full
Loopcheck= None[,Allow-Bounces]
Loopcheck= option1[,option2][,optionn]
This keyword is not available in LISTSERV Lite.
Determines the type of loop checking performed by LISTSERV to avoid perpetuating mail loops. The default is "Loopcheck= Full" prior to LISTSERV 14.5, and "Loopcheck= Normal" starting with LISTSERV 14.5. Loop checking is configured on a list by list basis only.
ALWAYS USE THIS KEYWORD WITH CAUTION!
Misuse of this keyword can and will allow mailing loops onto your list!
The various Loopcheck= parameters are defined as follows. "Normal", "Full" and "None" must be specified alone (except in the special "None,Allow-Bounces" case, and except for "Spam-Delay(n)"), whereas the other options may be specified together as required.
Normal |
LISTSERV uses its "normal" suite of loop checking heuristics. Tests considered to be obsolete are not conducted. This is the default for Loopcheck= beginning with LISTSERV 14.5. See the LISTSERV 14.5 release notes for more details. |
Full |
LISTSERV uses its full suite of loop checking heuristics to check incoming mail for loops. This includes tests considered to be obsolete. |
None |
All LISTSERV loop checking and "command to list" checking is disabled for this list. WARNING: "None" tells LISTSERV that, by definition, anything that reaches its reader is NOT a delivery error. It is never a good idea to use this parameter except in special cases where a bug is suspected in the loop checking heuristics. Generally this parameter should not be used without checking with L-Soft first, and only for the diagnosis of an existing problem. |
None,Allow-Bounces |
From LISTSERV 14.2 (1.8e-2003a), allows the list to accept error messages that would normally be bounced to the list owner. This makes it possible to direct the Errors-To= keyword setting to a LISTSERV list rather than to a specific person. "Allow-Bounces" MUST be specified in conjunction with "None". Specifying just "Loopcheck= Allow-Bounces" will result in a syntax error when the list header is stored. |
Noorigin |
Allows the list owner to disable the check for "known mailer origins" such as MAILER, POSTMASTER, ROOT, UUCP, et al. Mail whose 'From:' field is the address of the local mailer is still trapped, but wildcard checks on the mail origin are disabled. |
Nobody |
Allows the list owner to disable the check for identical text in the body of incoming mail only. LISTSERV relies only on the Subject: field of the mail message to determine whether or not mail is looping. This is a very dangerous option: it means that any mailer not using one of the "standard" subjects known to LISTSERV will cause a loop. |
NoCRC |
Allows the list owner to disable CRC (cyclical redundancy check) check of incoming mail. CRC loop checking calculates a "checksum" based on the contents of the mail message and compares it to other incoming mail to spot duplicates. |
NoSpam |
Allows the list owner to disable the anti-spamming filters to incoming mail. |
Spam-Delay(n) |
Allows the list owner to modify the number of minutes LISTSERV holds mail from non-subscribers before releasing it to the list. The assumption is that, within n minutes, a spam alert may or may not arrive regarding non-subscriber mail. The list owner can disable this function for his list by coding "Loopcheck= Spam-Delay(0)", or can tune it to his preference by simply specifying the number of minutes for LISTSERV to hold the mail. The default is 10 minutes, or "Spam-Delay(10)". |
Please note carefully that L-Soft does not recommend changing Loopcheck= from the default value unless you are prepared to accept the very likely possibility of a mail loop occuring on your list; a situation for which L-Soft would not and could not be held responsible for. The only exception would be the "Loopcheck= NoSpam" (which might be necessary to keep adminstrative mail to multiple lists on a single host from triggering the anti-spamming filter) or "Loopcheck= Spam-Delay(n)" options, neither of which stops canonical mail loops per se.
Safe= Yes | No
The list header keyword, "Safe=", controls the e-mail address LISTSERV places in the SMTP MAIL FROM: field, which is where well-behaved mailers will return delivery errors. With "Safe= No", these errors are sent to the list address as before, hopefully to be intercepted by the loop detector and passed on to the list owner. With "Safe= Yes", the error address is set to 'owner-listname', and delivery errors sent to that address are passed on to the list owner without the risk of creating a mailing loop. The default is "Safe= Yes".
IMPORTANT: The use of "Safe= Yes" does not guarantee that all errors will go to the 'owner-listname' mailbox. Unfortunately, there are many non-compliant mailers which will continue to send the error back to the list (usually because it is listed in the 'Reply-To:' or 'Sender:' field). Using "Safe= Yes" significantly decreases the potential for mailing loops, but not enough to actually code "Loopcheck= No", unless you are sure that all your subscribers have compliant mailers.
See also Filter= and Loopcheck=.