Skip to main content
Table of contents


Last updated: 23 Oct 2020

Send a bulk email

Sometimes it may be necessary to send a bulk email to many subscribers at once. There is a Rake task in email-alert-api to peform this task and it's available as a job in Jenkins.

1. Prepare the content

First you'll need to get access to the subject and the body of the email. The format for the subject is plain text and for the body it is a limited subset of markdown.

Note that the final email won't include any subscription information, so that should be included in the body of the email itself. An example could be:

You’re getting this email because you subscribed to updates from Travel Advice on GOV.UK.

[View, unsubscribe or change the frequency of your subscriptions](

2. Get the subscriber lists

Next you'll need to get the IDs of all the subscriber lists to send the email out to. This will require querying the email-alert-api SubscriberList model.

For example, to get the IDs of all the subscriber lists for travel advice, you could use the following query:

> SubscriberList.where("links->'countries' IS NOT NULL").pluck(:id)

3. Send a test email

Once you've got the content and the subscriber lists for the email, you can use staging to send out a test email. First make sure that you have subscribed to one of the subscriber lists and then use the Send bulk emails job in staging to send the email.

Make sure you are able to receive emails in staging.

4. Send the real email

If the test email works and looks good, it's time to send the real email! You can copy the parameters used in staging and run the same job in production.

5. Monitor the queues

It may be useful to monitor the Sidekiq queues of email-alert-api to look at the progress of the email and estimate how long it will take. Note that the emails from the bulk task end up on the default queue meaning that they are the lowest priority of email.

At the time of writing, an email to all travel advice subscribers (~560,000 subscribers) takes around 4-5 hours to send to everyone.