Sending a message to your members
Email everyone, one role, or a chosen few — now or later. How the sending is batched, and what the history does and does not keep.
- Beginner
- 7 min read
- Applies to 2.0
Where it lives
User Access → Broadcast Messaging. It must be switched on first: User Access → Emails → Broadcasts, the Enable Broadcast Messaging switch. That switch sends nothing — it decides whether the screen exists at all, and a link straight to it appears underneath once it is on.

The Broadcast Messaging screen: audience, subject, message and the schedule control.
Choosing who gets it
| Audience | Who |
|---|---|
| All users | every account on the site |
| By role | one role — subscribers, customers, whatever you have |
| Selected users | a list you pick |
Writing it
Subject and message, with the same merge tags the notification emails use —
{site_name}, {user_display_name}, {user_login} and the rest. They are
replaced per recipient, so a broadcast can greet each member by name.
Pick a template to match your other mail; see Choosing an email template.
Preview shows the result before you commit. Use it: a broadcast has no undo.
Now or later
Send immediately, or schedule it. A scheduled message waits for an hourly check that releases it when its time comes.
A scheduled message can be cancelled from the history until it goes out.
Coming from version 1.x? The Cancel button pointed at a handler that did not exist, so a scheduled message could not be stopped — the button did nothing at all. It works in 2.0, and removes the scheduled event, the queue and the history entry together.
How the sending actually happens
For anything beyond a small list, the send is batched:
- The recipients are worked out once, at the moment you press send.
- The first 50 go out immediately, so you see straight away whether sending works at all.
- The rest go into a queue and leave in batches of 50, on a background task.
- If a batch is lost, the hourly check reschedules it. You lose a batch, not the whole broadcast.
The history shows progress — Sending 150/2 400 — rather than claiming the whole thing is done the moment you click.
This matters if you have more than a few hundred members. Sending used to happen in one loop inside the request: on a large list it hit the PHP time limit or the mail provider's rate cap, stopped halfway with no way to resume, and the history recorded only what had already left. Batching is why that no longer happens.
The history
Every broadcast is recorded, with View to reopen what was sent.
The history keeps the last 100 entries. Older ones are dropped. If a broadcast matters as a record — a notice you may need to prove you sent — keep your own copy.
Before you send to everyone
- Send to yourself first. Make a role or a single-user selection with your own account in it.
- Check the sending route. A broadcast is only as good as your mail configuration; see Sending email through SMTP.
- Remember there is no unsubscribe. These are messages to your members, sent from your site. Keep them to things members need, or you will be teaching them to ignore your mail — including the password resets.
Something missing or out of date? Tell support.