SYNOPSIS
ezmlm-limit [ -f file ][ -dDF ][ -t secs ][ -n msgs ] direzmlm-limit is intended to limit traffic to a list in case an outside source sends excessive messages. Traffic is limited by converting the list to a message moderated list, or by deferring messages.
ezmlm-limit reads dir/loopnum. If it does not exist or contains a time stamp more than secs seconds old, it is updated. If it exists, contains a time stamp less than secs seconds old, and msgs messages or more have passed since dir/loopnum was created, ezmlm-limit creates dir/modpost. For lists set up with ezmlm-store(1) this results in future messages being moderated.
As long as dir/modpost does not exist, ezmlm-store(1) will simply forward the message to ezmlm-send(1). Once dir/modpost exists, messages will be queued for moderation. Thus, in case of error (such as misconfigured auto responders) subscribers are spared messages in excess of the limit. However, no messages are lost, since the moderator(s) can (selectively) approve queued messages.
If dir/modpost already exists, ezmlm-limit will not take any action.
Resetting the list requires manual removal of dir/modpost. Queued messages can be managed with regular moderation or approved in bulk with ezmlm-accept(1).
ezmlm-limit is not required for normal lists, since qmail and ezmlm loop detection prevent problems caused by regular bounces. However, it affords some protection against malice, and severely misconfigured subscribers.
OPTIONS
- -d
- Defer excess traffic. Excess messages are deferred and qmail will re-deliver. As a consequence, traffic will be throttled to the maximum allowed. Due to qmail delivery back-off, messages may not be disseminated in the order received. If traffic is continuously above or close to the limit, some messages may be delayed for a long time or even bounced.
- -D
- (Default.) Make the list moderated once excess traffic is detected. This requires the list to be configured up with ezmlm-store(1) rather than ezmlm-send(1), which is easiest done by first creating a message moderated list, then removing dir/modpost.
- -n msgs
- Trigger after msgs messages (default 30).
- -f file
- Instead of dir/loopnum use file as the time stamp. This allows the use of multiple instances of ezmlm-limit for the same list. For instance, you may allow 60 messages per hour with one instance and 150 messages per day with another. If file is relative, this is relative to dir.
- -F
- (Default.) Use dir/loopnum as the time stamp.
- -t secs
- Check the number of messages within period of secs seconds (default 3600 seconds).