Email tracker, read receipt and spy pixel blocker plugin for macOS Mail (10.11-13.x)
MailTrackerBlocker is a email tracker blocking plugin (mailbundle) for macOS Mail. Email marketers and other interests often embed these trackers in HTML emails so they can track how often, when and where you open your emails. Find out who is tracking you and block spy pixels without needing to disable “load remote content in messages” so that you can browse your inbox privately with images displayed once again.
You can install MailTrackerBlocker.pkg
directly from the releases page or via Homebrew Cask:
$ brew install mailtrackerblocker
If you installed with Homebrew:
$ brew uninstall mailtrackerblocker
If you installed the pkg
manually:
osascript -e "quit app \"Mail\""
# plugin files
sudo rm -r /Library/Mail/Bundles/MailTrackerBlocker.mailbundle
sudo rm -r /Library/Application\ Support/com.onefatgiraffe/mailtrackerblocker
sudo pkgutil --forget com.onefatgiraffe.mailtrackerblocker
# user-generated settings
rm -r ~/Library/Containers/com.apple.mail/Data/Library/Application\ Support/com.onefatgiraffe.mailtrackerblocker
defaults delete com.apple.mail _mtb_IsAutoUpdateCheckAllowed
defaults delete com.apple.mail _mtb_IsFirstStartup
defaults delete com.apple.mail _mtb_LastUpdateCheckDate
Yes, in some network environments (e.g. VPN) where Mail Privacy Protection doesn’t work, MailTrackerBlocker will still block and identify trackers if you choose to “Load Remote Content”.
Note: Mail Privacy Protection’s proxy will still fetch the tracker image, triggering the tracker after an unknown period of time. In the period of time before this happens, if you open your email without MailTrackerBlocker, the proxy will fetch the tracking image and trigger the tracker at that moment still letting the tracker know your exact opening time.
Typically caused by a Mac migration or a restoration from backup. Delete Mail’s private plugin-ins dir (or DataVaults) to fix this issue. This directory will safely and automatically be regenerated afterwards.
This issue isn’t related to MailTrackerBlocker but such problems can be resolved by doing a complete Mailbox Rebuild to force Mail to regenerate its indexes.
Building will automatically install a copy into your /Library/Mail/Bundles/
dir so if you have a current installation from the public pkg installer, you’ll need to remove it due to permissions: $ rm -rf /Library/Bundles/MailTrackerBlocker.mailbundle
.
git clone https://github.com/apparition47/MailTrackerBlocker.git --recursive
cd MailTrackerBlocker
To sign with your identity, edit the Makefile
to specify your own Developer ID Application
(used to sign the plugin binary [for macOS 11 and up]) and Developer ID Installer
(used to sign the pkg) certificates. You can also comment out the top lines to disable signing.
To build binary, pkg and sign (if configured):
make all
open build/Release
Full Disk Access
from System Preferences > Security & Privacy > Privacy > Full Disk Access
and add Xcode.
/Library/Mail/Bundles
.Signing & Capabilities
(macOS 11 and up: you’ll need to use your own Developer ID Application
certificate; below macOS 11: set it to none/don’t sign) then hit build.
Finder
access to allow Xcode to copy unsigned directly into sandboxed envBSD-3.