如何加快通过Amazon SES发送邮件的速度?

Sending half a million emails takes too long: 6 to 8 hours. Quota allows 90 emails per second. Sending from a dedicated server with nice performance, so memory/connection should not be the issue. Using batches of 50 emails at once.

Tryed varying number of emais in a batch: more than 50 causes CURL errors: seems like there's no response from Amazon to some of the threads. Even with 50 in a batch and a 1200ms pause between batches each mailout gets several hiccups.

So an average batch of 50 take from 4 to 6 s to complete + 1.2s pause — quite a long for 500k daily mailout.

Please advice how to tune the mailing to get its speed closer to the 90 mails/s.

How about running several jobs in parallel? That way the potential damage from each cURL error is lessened. Start with two jobs, where each has its pauses and limits adjusted accordingly.

You should also make sure you're setting the cURL timeouts. Configure CURLOPT_CONNECTTIMEOUT and CURLOPT_TIMEOUT at the very least.