Broadcast email stopped after sending exactly 8000 emails

Describe the bug

Description

A broadcast email stopped sending before reaching all recipients.
The email was targeting 8,536 contacts, but the sending process stopped after exactly 8,000 emails were sent. The remaining 536 contacts remained pending and were never automatically sent.

I verified the database records and confirmed that only 8000 emails were recorded in email_stats.

The remaining contacts were later sent only after creating a new segment and triggering a new email send.


Steps to reproduce

  1. Go to Channels → Emails

  2. Create a Segment/Broadcast Email

  3. Select a segment containing ~8,500 contacts

  4. Click Send

  5. Wait for the sending process to complete

  6. Observe that sending stops after 8000 emails

  7. Check database table email_stats and see only 8000 records


Expected behavior

The broadcast email should continue sending until all contacts in the segment (8,536) receive the email.


Actual behavior

The broadcast stopped after 8000 emails, leaving 536 contacts pending.

The send process did not automatically resume.


Docker Image Tag

mautic/mautic:5.1.0-apache

Installed using the official CapRover one-click deployment.


Server Architecture

AMD64 (DigitalOcean droplet)

Docker Image Digest

Currently not captured.

If required I can provide the digest using:

docker images --digests

Dockerfile (if applicable)

Not applicable.

The container is deployed directly from the official image:

mautic/mautic:5.1.0-apache

No custom Dockerfile is used.


Docker Compose (if applicable)

Not applicable.

Deployment is handled by CapRover, which internally manages Docker services.

Containers currently running:

mautic/mautic:5.1.0-apache
percona/percona-server:8.3

Additional context

SMTP Provider

SMTP is configured using Brevo (Sendinblue).

The issue does not appear to be related to SMTP rate limits or failures:

  • No SMTP errors were logged

  • Emails were delivered successfully

  • The sending process simply stopped after exactly 8000 messages


Email statistics verified in database

SELECT COUNT(*)
FROM email_stats
WHERE email_id = 12;

Result:

8000

Open tracking works correctly

SELECT COUNT(*)
FROM email_stats
WHERE email_id = 12
AND is_read = 1;

Result:

232

PHP configuration

max_execution_time = 0
max_input_time = -1
memory_limit = 512M

Apache configuration

Timeout 300

Cron jobs configured

mautic:segments:update
mautic:campaigns:update
mautic:campaigns:trigger
mautic:reports:scheduler
messenger:consume email --time-limit=55

At the time of the issue, mautic:broadcasts:send was not configured in cron.

After manually sending again from another segment, the remaining emails were delivered.


Questions

  1. Is there any known limit or batching behavior that could cause a broadcast email to stop at 8000 messages?

  2. Should mautic:broadcasts:send always be scheduled when sending broadcast emails?

  3. Could this be related to Symfony Messenger workers stopping or not continuing the broadcast send process?

  4. Is there a recommended cron configuration for broadcast emails in Mautic 5 when using Docker?


Acknowledgements

:check_box_with_check: This issue is NOT a security vulnerability.