jeffersongoncalves/laravel-mail
Complete email management for Laravel: logs outgoing mail, database Blade templates with translations and versioning, webhook delivery tracking (SES/SendGrid/Postmark/Mailgun/Resend), open/click pixel tracking, suppression list, CSS inlining, List-Unsubscribe, preview, stats, retries.
Initial release of Laravel Mail — complete email management for Laravel.
MessageSent eventmail:prune artisan command with configurable retentionprovider=pixel)LARAVEL_MAIL_PIXEL_OPEN_TRACKING=true
LARAVEL_MAIL_PIXEL_CLICK_TRACKING=true
LARAVEL_MAIL_PIXEL_SIGNING_KEY= # optional, defaults to APP_KEY
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 routesTrackingProvider::Pixel enum caseAbstractWebhookHandler to use shared TrackingEventRecorder serviceFull Changelog: https://github.com/jeffersongoncalves/laravel-mail/compare/1.2.0...1.3.0
provider_event_idTemplateMailable automatically link to the templateList-Unsubscribe and List-Unsubscribe-Postmail:send-test Command — Send test emails using templates via CLImail:templates Command — List all templates in a tablemail:stats Command — Show email statistics in the terminalMailTemplate now uses HasTranslations traitVerifyWebhookSignature middleware (validation already in handlers)Tracking Events — Laravel events dispatched on webhook processing: MailDelivered, MailBounced, MailComplained, MailOpened, MailClicked, MailDeferred. Listen to react to delivery status changes (disable accounts on bounce, alert on complaints, etc.)
Suppression List — Automatically suppress email addresses that hard bounce or receive spam complaints. Suppressed addresses are blocked from future sends. Includes mail:unsuppress command for manual management.
Statistics — MailStats facade with query helpers: sent(), delivered(), bounced(), complained(), opened(), clicked(), deliveryRate(), bounceRate(), dailyStats().
Template Preview Action — Render templates with example data without sending: PreviewTemplateAction::execute($template, $data, $locale).
Browser Preview — View sent emails and templates in the browser via signed URLs. Access via $mailLog->preview_url and $template->preview_url.
Notification Channel — TemplateMailChannel + TemplateNotificationMailable to send database templates via Laravel Notifications.
Retry Failed Emails — RetryFailedMailAction with max attempts + mail:retry command. Hard bounces are automatically skipped.
Laravel Boost Integration — resources/boost/ with guidelines and development skill for AI-assisted development.
Initial release of Laravel Mail — complete email management for Laravel.
MessageSent eventmail:prune artisan command with configurable retentionHow can I help you explore Laravel packages today?