On Wed, Jul 06, 2022 at 04:52:01PM +0000, Eric Wilkison wrote:

> We have a pool of postfix servers that mostly relay mail from internal
> applications to user inboxes.  One of the application teams is trying
> to send messages to more then 1000 recipients for a single message. 
> The default smtpd_recipient_limit of 1000 recipients is preventing
> this.  What are the technical ramifications of increasing this limit? 
> Could we cause other issues, exceed memory memory or other resources,
> by allowing more than 1000 recipients?

For an internal server, you can reasonably raise the limit to say
10,000.  You may also want to increase the message size limit (if not
already fairly generous), as recipient records also occupy space in the
queue file, and some recipients may in turn expand to multiple addresses
via virtual(5) aliases.

> FYI, I do not think this is a good idea, do not want to change the
> default and have already pushed back to the application team.  However
> being a political battle I need to make sure I understand the
> ramifications should logic not prevail.  

Modern hardware has sufficient memory resources.  While the application
could instead send mail to a list (LDAP, Postgresql, ...), and send just
to just a single address, or sent a separate message to each recipient
(with VERP for bounce management, ...), for internal traffic there's no
fundamental reason to set the limit at 1000.

If you're using content_filters, make sure the filter transport has:

* An exmplicit nexthop domain (say "dummy" if it is a "simple"
  filter that runs a pipe(8) command.  "content_filer=filter:dummy"

* A similarly high recipient limit.  No point scanning the same
  message multiple times.

The downstream mailbox servers should perhaps also have high recipient
limits, and you may want to give the "relay" transport a high
destination recipient limit:

    # Assuming the other end does not mind
    relay_destination_recipient_limit = 1000

--
    Viktor.

Reply via email to