1.3.0
What's Changed
New Features
- Pixel Tracking (Provider-Independent) — Track email opens and clicks without relying on email provider webhooks. Works with any mailer including plain SMTP.
- Injects a 1x1 transparent GIF pixel for open tracking
- Rewrites links for click tracking with 302 redirect
- HMAC-SHA256 signed URLs to prevent forgery
- Validates redirect URLs to block unsafe schemes (javascript:, data:, etc.)
- Coexists with existing webhook-based tracking (events registered with
provider=pixel)
New Configuration
LARAVEL_MAIL_PIXEL_OPEN_TRACKING=true
LARAVEL_MAIL_PIXEL_CLICK_TRACKING=true
LARAVEL_MAIL_PIXEL_SIGNING_KEY= # optional, defaults to APP_KEYNew Files
Services/PixelTracker— Pixel injection, link rewriting, HMAC signingServices/TrackingEventRecorder— Shared event recording service (refactored from AbstractWebhookHandler)Http/Controllers/TrackingController— Serves GIF pixel and click redirectsListeners/InjectTrackingPixel— MessageSending listenerroutes/tracking.php— Pixel and click routes
Internal Changes
- Added
TrackingProvider::Pixelenum case - Refactored
AbstractWebhookHandlerto use sharedTrackingEventRecorderservice - Updated README, Boost guidelines, and Boost skill documentation
Full Changelog: 1.2.0...1.3.0