How do I send email to a large number of Drupal users, based on rules? I have a scheduled rule (schedule, rules module) to send a HTML email (mime module), using a View to list the email addresses (View Rules).

I tested this based on a couple of users (all users within my site's database) and everything worked as expected. When I increased the number of emails (to around 1400), I found that around half the users received the email, over and over again.

I also noticed that when I manually run CRON, the page times out.

I can't see any errors logged, but these may have been cleared.

Could anyone explain why this is occurring? I'm confident that everything was working before the increase in user numbers.

If a CRON task times out / errors, does it repeat on every page hit until it is successful ?
The Mandrill module (combined with the Mandrill service) lets you send transactional emails (and, theoretically, bulk emails) very quickly. It has a built-in queue feature which adds outgoing emails to a cron queue.

Note that the Mandrill service requires you to build up a reasonable sender reputation before you can send many emails at the same time - there are hourly limits that increase automatically. And of course it can cost money.

The Queue Mail module is a general-purpose solution to queue outgoing emails, if you don't want to run Mandrill or other modules that have their own queueing.

Regarding cron: Drupal's built-in cron triggers all repeating tasks to run at once, which means it can be very slow for complex sites. Many cron tasks don't need to run that often, and many of them shouldn't run often (for example, the system cron clears caches, which can really slow down the site).

So you can use the Elysia Cron module to manage cron jobs more effectively: it allows you to separate tasks so that the ones that are fast and need to be frequent (such as Mandrill cron) run say every minute, while the ones that are slow (such as system cron) run every week.

The Ultimate Cron module is an alternative to Elysia Cron - I haven't used it recently so I'm not certain that it works well.