PrestaShop Administration & Productivity

DataFirefly Email Filter — Block transactional emails on PrestaShop 8

Block the sending of certain PrestaShop emails without override or core hack — official hook, native multi-store.

On PrestaShop, cutting the sending of a specific transactional email (the order confirmation, the payment notification, the account creation email) requires writing an override, touching the core, or installing a Rube Goldberg machine that filters by complex rules. DataFirefly Email Filter does the opposite: an admin page, a text field with autocomplete on standard templates, you type the template name (or pick from the list: bankwire, order_conf, shipped…), you click Add, it's blocked. For multi-store, you enable or disable the module shop by shop with the native multi-store selector. No override, no core hack, the official PrestaShop hook does all the work. €9, installed in 2 minutes.

PrestaShop 8.0+ Multi-store 1 hook 1 table Native logs No front config
  • 30-day refund
  • 12 months updates
  • 24h support
www.datafirefly.com/en/
EF
v4.0.0 · updated 2026-05-01
What it does

The short version.

01

Standard hook, no hacking

The official PrestaShop actionEmailSendBefore hook does the job. The module returns false before sending if the template is in your list — PrestaShop cancels the send cleanly, without error, without warning. No core hack, no override.

02

Minimalist interface

An admin page, a text field with autocomplete on the 15 most common templates (bankwire, cheque, order_conf, payment, shipped, account, password, contact, newsletter, refund…), an Add button. Toggle on/off to disable temporarily without deleting.

03

Native multi-store

Enable the module on shops where filtering should apply, disable it on those where emails should go out normally. The native PrestaShop per-shop activation system handles everything. The templates list is global and shared — one place to maintain.

04

Blocked emails traceability

Each block is logged in PrestaShopLogger with the template and shop ID. Check at a glance from Advanced Parameters → Logs that filtering works, or audit what wasn't sent over a period.

The long version

Everything you'd want to know before you install.

A detailed look at how DataFirefly Email Filter — Block transactional emails on PrestaShop 8 works, why we built it the way we did, and the thinking behind the features above.

§ 01

The need

On PrestaShop, you have a pre-production environment that sends confirmation emails to your real customers when a test passes; or a B2B store where you have your own invoicing process and the native email is duplicate; or a multi-store where the German sub-shop sends its own newsletter via Brevo and PrestaShop emails become spam. All these cases call for the same solution: selectively cut certain emails. And all these cases end up in practice with hacked overrides that break on the next PrestaShop update.

§ 02

The module in one sentence

A list of email templates to block, managed from the back office, applied via the official PrestaShop actionEmailSendBefore hook. No magic, no hidden complexity — the native PrestaShop mechanism is used as is.

§ 03

Daily usage

You go to Modules → Module Manager, you configure DataFirefly Email Filter. A very simple page: a text field (with datalist autocomplete on PrestaShop standard templates) to add a template to block, and a table of templates already in the list with two buttons per row: toggle active/inactive and delete. That's it. No complex rules, no nested conditions — if the template is in the list, it's blocked; otherwise it goes through.

§ 04

Multi-store

The module uses the native PrestaShop per-shop activation system. To enable filtering on certain shops only, you go to Modules → Module Manager, you select the target shop with the multi-store selector at the top, and you enable or disable the module at that level. The actionEmailSendBefore hook is called only on shops where the module is active — PrestaShop handles the routing. The templates list, however, is global and shared.

§ 05

Performance and traceability

The hook executes a single SQL query: a SELECT on a unique key (the template) to check presence in the list. A few microseconds, totally negligible even on a store with several hundred emails per day. Each block is logged in PrestaShopLogger with the template and shop ID — visible in Advanced Parameters → Logs, Email filter. You can thus audit what wasn't sent, without having to dig into server logs.

§ 06

Use cases

Pre-prod / staging: add all templates to the list, enable the module — no email leaves the test environment anymore, your test campaigns no longer pollute real customers. B2B with custom invoicing: block order_conf, keep your own in-house invoice email. Multi-store with external emails: enable the module only on shops connected to Brevo / ActiveCampaign / Mailchimp, keep native emails on other shops. Store migration: temporarily block order_conf and shipped during historical import to avoid sending 5,000 confirmations by mistake.