Max messages per connection |
V8.10 and above |
The m= delivery
agent equate is used to limit the number of envelopes that can be
delivered during any single SMTP or LMTP connection. This can prove useful because more and more
sites on the Internet have started rejecting envelopes after too many
have been sent.
For example, consider a malicious user at your site who wants to
advertise to thousands of users at aol.com by
sending a single envelope to all of them. By defining this
m= delivery agent equate to a value of, say, 25,
only the first 25 envelopes would be delivered on the initial
connection to aol.com. For the 26th,
sendmail would have to reestablish the
connection to send the next 25. Thousands of envelopes would require
a new connection for each group of 25 envelopes, thus slowing the
flow and giving you more time to detect the affront.
The way to add this delivery agent equate to your SMTP delivery
agents looks like this:
define(`SMTP_MAILER_MAXMSGS', `25')
This m= delivery agent equate can also be used
with the local_lmtp feature (FEATURE(local_lmtp)), which causes mail.local
to accept envelopes via LMTP. This can be useful if your machine
receives many envelopes from another machine for local delivery.
Instead of expecting mail.local to deliver
hundreds of envelopes locally during a single run, you can reduce the
stress on your machine by limiting the number of envelopes to a
comfortable few. Consider defining the following in your
.mc configuration file:
define(`LOCAL_MAILER_MAXMSGS', `50')
Here, mail from a site—say,
hotmail.com—would be gathered by
sendmail until that site finished sending. Then,
sendmail would begin delivering all the local
addresses via mail.local and LMTP. After the
50th had been delivered, sendmail would exit its
run of mail.local and a new run of
mail.local would have to begin.
If m= is defined as zero, or is undefined, there
is no limit on the number of envelopes. If m= is
defined with a negative value, sendmail will
issue no error, and will act as if zero were defined.
Modify m= using an mc configuration macro
Using V8 sendmail's
mc configuration technique, the maximum number
of envelopes allowed per connection can be changed by defining an
appropriate macro. Here, for example, is one way to limit the number
of envelopes per outbound UUCP connection to 25:
define(`UUCP_MAILER_MAXMSGS', `25') this must be
MAILER(`uucp') before this
See the section describing a particular delivery agent to find an
appropriate mc macro with which to redefine the
m= for that delivery agent. See Table 20-1, in Section 20.4, for a guide
to all delivery agents.
To change the limit for agents that lack a definition, copy an
existing delivery agent definition, then modify it as outlined in
Section 20.3.2.
|