How to implement Randomized Drips and Daily Limits in Mautic 7

My Mautic version is: v7.0.1
My PHP version is: 8.3.30
My Database type and version is: 10.11.16-MariaDB-ubu2204
I installed Mautic via: Docker

Hi all,

I’m a new Mautic 7 user. I need to send to large segments while avoiding SPAM filters by using randomized sending intervals and daily volume caps.

I would prefer not to use the Campaign Builder for this as it feels over-engineered for a simple broadcast drip.

My Questions:

  1. Are there any community-maintained plugins or scripts for Mautic 7 that introduce a “Random Jitter” between sends?

  2. Does anyone specific Cron configurations to simulate a random sending window throughout the day?

  3. Is there a way to handle “Daily Caps” per segment without having to manually pause and resume cron jobs or set from the back?

  4. Is there anyway to set the limit of the total send email per day/per min/per hour, for entire mautic, no matter what type of email send it is, without having configure from the back?

I truly appreciate your time and any guidance you can share. Thank you for your attention to this request!

Mautic 7 has no built-in “random jitter” or per-segment daily caps in the UI. As far as I know there’s no maintained plugin for it either. You can get close with how you run the broadcast command, without touching campaigns:

**Daily / hourly caps**

`mautic:broadcasts:send` takes limits. For example:

```

php bin/console mautic:broadcasts:send --id=123 --limit=500 --batch=50

```

`–limit` is the most it sends per run and `–batch` is how many go per batch. With that on cron 4 times a day, email 123 caps at 2,000/day. Leave out `–id` to apply the cap to all segment emails. Each run picks up where the last one stopped.

**Randomized send times**

Add a random sleep before the command in cron:

```

*/30 8-18 * * 1-5 sleep $((RANDOM \% 900)); php /var/www/html/bin/console mautic:broadcasts:send --limit=100

```

That runs at uneven times inside a working-hours window. Note the escaped `%` in crontab. In Docker, put it in the cron container’s crontab.

**Global throttle (all email types)**

If you send via the Messenger queue (Configuration → Email Settings → queue), every email (segment, campaign, transactional) goes through the consumer. You can throttle it there, e.g. run `messenger:consume email --limit=200 --time-limit=3600` hourly, which caps total throughput no matter the source. Many ESPs (SES, SendGrid, etc.) also let you set a sending rate on their side.

One caveat: random intervals don’t do much for spam filtering. What counts most is a gradual volume ramp-up (domain/IP warm-up), proper SPF/DKIM/DMARC, and sending to engaged contacts first.