jeffersongoncalves/laravel-mail
Complete email management for Laravel: logging, translated database templates with versioning, webhook delivery tracking for five providers, pixel open/click tracking, suppression lists, inline CSS, statistics, and retries.
spatie/laravel-translatable), eliminating the need for manual localization or third-party tools like Mailchimp.tag() / Envelope tags) are persisted on the mail log and rolled up into a CampaignReport plus php artisan mail:campaign [tag] — giving sent, delivered, bounced, complained, distinct opens and clicks, open/click/click-to-open rates, and most-clicked links per campaign. This is the decision-grade reporting layer that previously required SendGrid/Mailchimp dashboards or a BI pipeline.tenant() scoping, avoiding cross-tenant data leakage. Campaign tags give per-tenant, per-campaign reporting for customer-facing dashboards.mail:retry, mail:prune, mail:campaign), accelerating development and reducing bugs.add_tags_to_mail_logs_table migration and enable laravel-mail.campaigns.enabled.mail:campaign is a reporting primitive, not a campaign manager."This package replaces fragmented email tools with a self-hosted, all-in-one solution that cuts costs and improves deliverability. Key wins:
"This Laravel package supercharges our email infrastructure with minimal overhead:
laravel-mail.campaigns.enabled, tag() / Envelope tags are stored on the log row after running the new add_tags_to_mail_logs_table migration.CampaignReport and php artisan mail:campaign [tag] aggregate sent, delivered, bounced, complained, distinct opens and clicks, open/click/click-to-open rates, and top clicked links — no external warehouse required.spatie/laravel-translatable), replacing static views or external tools. 1.4.0 also fixes text bodies by setting them on the message directly rather than resolving them as a view name, so plain-text parts render correctly.artisan commands (mail:retry, mail:prune, mail:campaign) or Laravel events (e.g., MailBounced to trigger user alerts).User, Order).Mail facade, and the upgrade is additive — one migration plus a config flag, no breaking changes from 1.3.0."This solves four critical pain points for our email workflows:
{{ $user->name }}), tagged per cohort to compare which onboarding variant performs.mail:campaign <tag> to see which links drove engagement.How can I help you explore Laravel packages today?