Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Mail Tracker

No security coverage Under active development

Part of the Mail ecosystem · 12 projects

Mail Tracker

Mail Tracker sends the email of your Drupal site and records what happens to
each message: sent, delivered, opened, clicked, bounced, unsubscribed or
marked as spam. It needs no external email service and no webhooks. Reports
show rates, a daily chart, the most clicked links, email clients and devices,
and the full history of every message and recipient.

Table of contents

- Requirements
- Recommended modules
- Installation
- Configuration
- How tracking works
- Using Gmail
- Reports
- Privacy
- Troubleshooting
- Maintainers

Requirements

- Drupal 11.1 or later.
- An SMTP server to send with, or Drupal's own mailer setting.
- To read bounces: an IMAP mailbox that receives the bounce notices, usually
the mailbox of the sender address. No PHP extension is needed.

Recommended modules

- [Key](https://www.drupal.org/project/key): stores the SMTP and mailbox
passwords outside the database.
- Views (core): build your own lists of tracked email.

Installation

Install as you would normally install a contributed Drupal module. For further
information, see
[Installing Drupal Modules](https://www.drupal.org/docs/extending-drupal/installing-drupal-modules).

Installing the module makes it the site mailer. Uninstalling restores the
previous mailer and deletes all tracking data.

Configuration

1. Grant the permissions at People » Permissions:
- View email tracking reports shows recipients, subjects, opens and
clicks.
- Administer Mail Tracker also allows changing the settings and the
suppression list.
2. Configure sending and bounces at
Configuration » System » Mail Tracker
(`/admin/config/system/mail-tracker`).
3. Set the tracking base URL to the public address of the site when email
is sent from cron or Drush, so links in email point to the right site.
4. Use the Test tab to send a test email and check the bounce mailbox.

Passwords are read from the first source that has one:

1. settings.php, which keeps them out of the database:

$settings['mail_tracker']['smtp_password'] = 'app password';
$settings['mail_tracker']['imap_password'] = 'app password';

2. a key from the Key module;
3. the settings form, which stores them in State (not in exported
configuration, but in database backups).

Suppression

The site stops sending to an address after a hard bounce, a spam complaint,
three soft bounces in 30 days or an unsubscribe. Administrators can add and
remove addresses on the **Suppression list** tab. Essential email (by default
all user account email, such as password resets) still goes to addresses that
only unsubscribed.

Alerts

When more than 5% of the email sent in the last 24 hours bounced, Mail Tracker
logs a warning and emails the site address, at most once a day.

Reports

Reports » Email tracking (`/admin/reports/mail-tracker`):

- Dashboard: sent, delivered, open, click, click-to-open, bounce,
unsubscribe and complaint rates for a period and email type; a daily chart;
results by email type; the most clicked links; email clients and devices;
the latest bounces.
- Messages: every email, with filters and CSV download. Each message has a
timeline of everything that happened to it and the clicks per link, and
links to the recipient's history.
- Suppression list: the addresses the site no longer sends to.

The tables are also available to Views, as the Tracked email and Tracked
email event
base tables.

Privacy

Email tracking records personal data. Tell your recipients, for example in
your privacy policy.

- IP addresses are stored as a one-way hash by default, or not at all.
- Tracking data is deleted after 180 days by default.
- When a user account is deleted, the tracking data of its email address is
deleted too.
- The message list keeps its filters in the session, so searched addresses do
not appear in URLs or server logs.

Ask your assistant about Mail Tracker

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Oct 2026
Latest release
2 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core PHP Release date
1.0.0-alpha2 Pre-release 11 PHP >=8.3 Oct 29, 2026