What is the best practice to send an email to a large number of users?

I am developing a plugin for the website of an association and one of the things needed is to be able to send an email to all (or a specific subset) of the members of the association.

This will be a fairly rare thing to happen, but when it happens 500 to 1000 emails are expected to be sent.

Now, I can think of several options:

  1. Send each email separately
  2. Send email in blocks of 50/100
  3. Send one single email for everyone

Option 1 is nice because I can personalize the email (Dear Name Surname, ....), however we can live with a generic email for these situations.

  • What are the drawbacks of each of those options?
  • Can you advise any alternative strategy? I was going to simply use wp_mail but maybe relying on an external service (which one?) is better? I would like to avoid setting up a mailing list on an external server, I don't want to have two different databases with user info
  • Is there a way to send the emails at regular intervals maybe using wp_cron? How would you go about it?

Any further advice is very welcome.

1 Answer 1


Sending mass emails that actually get delivered is not a simple matter at all. Even if your code sends 1000 messages correctly, many if not most of them will get blocked or labeled as spam unless you comply with a long list of mass email best practices. (See also: The FTC's CAN-SPAM Act - Compliance Guide.)

I recommend that you use (or study the code of) a well-established newsletter plugin with a high rating, as these are more likely to employ best practices for deliverability. You might also install a plugin to send outgoing emails via Mandrill or AmazonSES. (With Mandrill, you can send up to 12,000 emails a month for free.) These services have established relationships with ISPs and spam blacklisting services, so they can better assure the deliverability of your mass emails.

  • This answer does not specify which of the three options mentioned by nico above is best, though. I set up an Eleastic Email account and installed their plugin, which hooks to wp_mail. But I'm not sure if it is better to have a big loop with an individual call to wp_mail for each user (options 1 or 3), or a single call to wp_mail targeting all users, or something in between (option 2). Any idea?
    – Franco
    Aug 12, 2018 at 8:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.