Re: [exim] Limit number of recipients

Top Page
Delete this message
Reply to this message
Author: Fred Viles
Date:  
To: exim-users
Subject: Re: [exim] Limit number of recipients
On 5 May 2005 at 15:04, Edgar Lovecraft wrote about
    "Re: [exim] Limit number of recipien":


| "Fred Viles" wrote:
| >
| ..[snip]...

|...
| > | You should instead check the
| > | number of recipients in the predata or data ACLs and reject the whole
| > | message, rather than just the last few recipients.
| >
| > ISTM that's exactly the effect you get when you set recipients_max to a
| > value and and recipients_max_reject to TRUE.
|
| No, that is not the same effect, what the recipients_max_reject does
| is it allows up to the number of recipients as defined in recipients_max,
| and then 5xx's any RCPT TO: command after that number.


That's not all it does, it also 554's the DATA command. No recipient
gets the message, same as with the ACL approach. I think this is the
bit you and Tony are overlooking.

| So if you set
| recipients_max to 100, and have recipients_max_reject set TRUE,
| then starting with RCPT TO: number 101 and above all get permanent
| failures rather than the try again later (4xx) errors


Right, making it less likely the sending MTA will screw up and
(incorrectly) retry those recipients in spite of the 554 response to
DATA.

| so that the rest
| of the recipients can still get the message later when the sender
| properly retries them.


Either way (recipients_max_reject or explicit test of $rcpt_count in
the pre-data ACL), they should not be retried.

| What is posted above just looks at the total
| number of recipients and then rejects the entire message for everyone.


(assuming you mean recipients_max+recipients_max_reject)
Right. And my question for you was: how is that different from
rejecting the DATA command based on $rcpt_count in an ACL?

| > And that's what the OP says he wants:
| >
| > | is it possible to
| > | tell exim to only accept an email if it is for less than say 100
| > | recipients ?
| >
| > So I don't get why you and Edgar think the OP should not set
| > recipients_max_reject. What am I missing?
|
| I do not suggest setting recipients_max_reject to TRUE because as
| I just pointed out, any recipient after the recipients_max number
| has been hit, get permanent failures.


But that's what the OP asked for. If you want to argue that what he
wants to do is a bad idea, that's fine. But it sounded like you were
just saying recipients_max+recipients_max_reject was a bad way to get
there, not that he shouldn't want to go.

| It may be true that the OP does want to reject any message that has
| been sent to more than 100 recipients in the same transaction, in
| which case, Tony's suggestion does just that, and recipients_max_reject
| does not.


If true, that's what I'm (still) missing. As I read the spec, it
*does*.

|...

- Fred