Add Resend to Non-Openers action for segment emails

The Problem

Every major email marketing platform (Mailchimp, Brevo, ActiveCampaign) has a one-click “Resend to Non-Openers” feature. In Mautic, achieving the same result requires a tedious manual workflow:

  1. Clone the original segment

  2. Add a “Read a specific email - excluding” filter

  3. If the email has translations, add all translation IDs to the filter

  4. Clone the email

  5. Assign it to the new segment

  6. Publish and wait for the cron to send

This has been requested by the community for years:

Why It Matters

Mailchimp data from 1,300 resend campaigns shows resending to non-openers adds +8.7 percentage points to the original open rate (from a 26.7% average). This is one of the highest-ROI actions an email marketer can take, and it should be simple to do.

Proposed Solution

A “Resend to Non-Openers” button on the email detail page that automates the entire manual workflow described above. One click, one confirmation, done.

How it works:

  1. After a segment email has been fully sent, a “Resend to Non-Openers” button appears in the Options dropdown

  2. Clicking it shows a confirmation modal

  3. On confirm, Mautic automatically:

  • Creates a new segment with “member of original segment” + “not read email” filters

  • Clones the email and all its translation children

  • Publishes it for the broadcast cron to send

  1. The resend appears linked to the original email

Key details:

  • Works with multilingual emails (all translations are cloned and all translation IDs are included in the filter)

  • Uses existing Mautic primitives (segment filters, broadcast pipeline) - no custom query logic

  • Scales to any list size since it uses the standard cron-based sending

  • Each email can only be resent once (prevents abuse)

  • Also available via CLI (mautic:emails:resend-nonopeners) and API (POST /api/emails/{id}/resend-nonopeners)

Implementation

A working implementation exists as a PR: feat: Add resend to non-openers for segment emails by introfini · Pull Request #16005 · mautic/mautic · GitHub

GitHub issue: Add Resend to Non-Openers action for segment emails · Issue #16004 · mautic/mautic · GitHub

The issue contains a full visual walkthrough with screenshots showing every step of the feature.

I’m open to packaging this as a plugin if the community and maintainers prefer that approach for initial release.

Feedback Welcome

I’d love to hear from the community:

  • Is this something you’d use?

  • Is the one-click approach right, or would you prefer more configuration options (e.g., wait time before resending, subject line change)?

  • Any concerns about the segment-based approach?

Update: Plugin released

Following the maintainer’s suggestion to start as a plugin, this feature is now available as a standalone Mautic plugin with zero core modifications:

bloomidea/mautic-plugin-resend-nonopeners

Install


composer require bloomidea/mautic-plugin-resend-nonopeners

bin/console mautic:plugins:reload

Or for Docker runtime images (no composer.json): clone directly into plugins/MauticResendNonOpenersBundle/.

What it does

One-click resend of segment emails to contacts who didn’t open them. Automates the manual workflow of cloning the segment with a “not read email” filter, cloning the email (including translations), and publishing it for the broadcast cron.

Highlights

  • UI button in the email detail page dropdown + CLI command + REST API

  • Multilingual support — clones parent and all translation children

  • Auto-categorization — tags cloned emails and segments with a “Resend Non-Openers” category

  • Auto-cleanup — when sending completes, the resend segment is automatically unpublished

  • Fully async — works for segments of any size without HTTP timeouts

  • Works with emails that have “continue sending” enabled

Tested in production with multilingual emails and segments of 12,000+ contacts.

The GitHub issue has a full visual walkthrough with screenshots.

Would love feedback from the community. Is this useful for your workflow? Any features you’d want added?