Having had some experience at mail servers ...
Are all the receipients on the same mail server system? Where you control where the mail is sent as well?
If not, even if you configure your moodle server as best you can, email servers on other might reject ... you could then have a flood of failed notifications coming back to the mail services on your moodle ... thus eating up resources and taking away from normal moodle processing.
Whatever server is set up to send 1000+ messages had better have spotless mx, dkim, spf, and any other config for the blockhole/spam checkers.
Normally, one does not have their moodle server set up as a mail server as well.
Your answer/solution ... me thinks ... a very robust SMTP relay that does have mx,dkim,spf, etc. and that you can control ... SendGrid? Mailgun? or other such SMTP relay is advised.
Nearly all mail servers have sending limits - number of messages ... and it's not 1000+ in one minute.
Note also that PHP's mail() function opens a new socket for every mail sent. If you're looping through a large recipient list and sending a message to each one individually, you could quickly run out of sockets.
A realistic expectation should be taken.
https://sendgrid.com/
https://www.mailgun.com/
You might consider mailman on a dedicated server.
https://www.list.org/
Now if you are wondering how this forum manages to send mail to many users, consider that behind this server interface is Amazon - probably more than one server ... and located in multiple geographic locations. Check the header of a message you get from this server to get an idea.
'spirit of sharing', Ken