Francis Jayakanth via Mailman-Users writes:

 > I'm told that there are per minute and per hour restrictions of 30
 > and 1800 emails respectively (inbound and outbound) on o365.

I'm not sure what "limit of 30 emails/minute" means.  In the below, I
am going to assume it means "addresses to be delivered."  The other
meaning I could imagine would be "connections", which would make it
much easier to comply (as long as you have a few "giant" destinations
like Gmail and Yahoo).

 > How can the said restrictions be complied with in Mailman?

There is no facility for this in Mailman itself.  Mailman does
maintain queues, but their purpose is only to ensure that messages are
processed by each function in order and do not get lost while waiting
for processing.  It contains no logic for "fair queuing" or
"throttling" for individual outgoing messages.  It just sends them all
to the MTA (Postfix), with popular domains getting multiple addressees
and only one message body.  The only restriction implemented in
Mailman is the maximum number of addressees per message.  That is
maybe you have 1500 Gmail addresses, then you could limit to 25
addressees per SMTP transaction, to allow 5 other emails to get
through every minute.

Normally I would recommend using Postfix to do the throttling you need
(see the various "recipient_limit" and "rate_delay" parameters in
postconf(5)), but given this requirement:

 > One of our lists has close to 6k members.

you are in a bad place no matter how you look at it unless you can
throttle the *incoming* posts to 4-6 per day, spaced at least 3 and
probably 4 hours apart.  Once one post is in the queue, I don't think
there is any way to guarantee it will be sent to all addressees before
the next post starts to be sent.  So unless you can guarantee posts
spaced out in time, you could end up in a situation where 1/4 of the
list gets the post, then you wait until the hour, but before that
another post sneaks in and it gets delivered to the same 1/4 of the
list.  That is as far as I know an MTA goes through the recipient
domains in a deterministic order, and will start over on the domains
that have already had post #1 delivered, by delivering post #2 to
them.  And of course processing just one post for this list is going
to make it difficult for anything else to get delivered until it's
done.

Of course the whole time this is going on, you have to keep all of the
queued posts on disk, one copy plus the address list per domain.  For
that reason it would be nice if Mailman handled the queuing for you,
but it doesn't.

------------------------------------------------------
Mailman-Users mailing list -- mailman-users@python.org
To unsubscribe send an email to mailman-users-le...@python.org
https://mail.python.org/mailman3/lists/mailman-users.python.org/
Mailman FAQ: http://wiki.list.org/x/AgA3
Security Policy: http://wiki.list.org/x/QIA9
Searchable Archives: https://www.mail-archive.com/mailman-users@python.org/
    https://mail.python.org/archives/list/mailman-users@python.org/

Reply via email to