in reply to Applying the brakes

I don't have very much experience with mail servers, but I'll try nonetheless: Could you let the mail server do the throttling?

I guess that's a common problem, and some mail servers already have a solution for that.

Perhaps you can query the local queue size of your mail server and sleep if there are more than $limit mails in the queue.

Especially when it comes to concurrency I try very hard to find some piece of software that already solves the hard part of the problem, in this case I'd hope for a decent mail server.