Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

System Mail Bundle Laravel Package

hautzi/system-mail-bundle

Symfony bundle for sending system-generated emails with configurable templates and mail transport integration. Use a simple service API to dispatch transactional notifications, confirmations, and other automated messages from your application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework fit check (read this first): Despite being catalogued alongside Laravel work, this is a Symfony bundle, not a Laravel package. It relies on Symfony's DI container, Twig, and the Symfony Mailer/SwiftMailer stack. For a Laravel codebase it is a design reference only — Blade, the Mail facade, and Laravel's translation layer solve the same problem differently. Do not put it on a Laravel roadmap as a dependency.
  • Localization roadmap for transactional mail. The core product problem it addresses is real and recurring: password resets, welcome mails, order confirmations, and receipts going out in the wrong language because copy is hardcoded in templates. This bundle's model — store mail templates keyed by locale, resolve the recipient's locale at send time, fall back to a default — is the shape most products eventually need. Use it to decide whether localized system mail is a this-quarter feature or a next-quarter one.
  • Build vs. buy vs. copy. The honest answer here is copy. The pattern is small (a template entity, a locale resolver, a renderer, a send service). That is days of work, not weeks, and it buys you ownership of a piece of infrastructure that touches every user's inbox.
  • Content operations ownership. If the bundle's approach is adopted (DB-backed templates, optionally with an admin screen), marketing and support can fix a typo or add a language without a deploy. That is a concrete operational decision: who owns system mail copy, and how fast can it change?
  • Activation and retention funnels. Localized welcome and reset mails measurably affect signup completion in non-English markets. If international expansion is on the roadmap, this is a prerequisite, not a nice-to-have.
  • Support-cost reduction. "I got the email in English but I'm a German user" is a recurring ticket class. A locale-aware template layer removes it structurally rather than case by case.

When to Consider This Package

Consider it (as a pattern/spec, not a dependency) when:

  • You are on an older Symfony application (roughly Symfony 3.x–4.x, PHP 7.x era) and need localized transactional mail this sprint, with tolerance for code you will later replace.
  • You want a working reference for locale resolution rules — per-user preference, request locale, fallback chain — before you design your own.
  • Your volume is modest (tens of thousands of mails/month), sent synchronously or via a simple queue, and you do not need provider webhooks.

Look elsewhere — or reimplement in-house — when:

  • You are on Laravel. It is not compatible. Build it with Blade + Mail + __() and a mail_templates table; you will be done before you finish fighting the Symfony bridge.
  • You are on Symfony 5/6/7. Last release was December 2018, 18 stars, zero dependents. That is effectively abandonware: no security response path, no compatibility with current Symfony major versions, no maintainer to escalate to. Adopting it as a runtime dependency is a liability, not a shortcut.
  • Deliverability matters. This package does not handle SPF/DKIM/DMARC, bounce processing, suppression lists, or complaint feedback. Those are the parts that actually break at scale; template localization is the easy part.
  • You need scale or reliability guarantees. No evidence of queue integration, retry semantics, rate limiting, or provider abstraction (SES/SendGrid/Postmark).
  • You need auditability or compliance controls — template versioning, approval workflow, PII handling in template variables, GDPR retention on mail logs.
  • Your team has no Symfony experience. The maintenance cost of an unfamiliar, unmaintained bundle exceeds the cost of writing the 300–500 lines yourself.

How to Pitch It (Stakeholders)

To executives: There is a real, unglamorous product gap here — transactional emails in the wrong language cost us signups in non-English markets and generate support tickets. An open-source bundle exists that models the fix, but it has been unmaintained since 2018, has essentially zero adoption, and does not run on our framework. Recommendation: fund roughly one sprint to build the capability in-house using this as the reference design, rather than taking a dependency on it. The scope is a template table with a locale column, a locale resolver with a fallback chain, and a renderer that runs on our existing mail stack. Low cost, contained risk, and it unblocks every localized customer touchpoint we add afterwards.

To engineering: This is a Symfony bundle from 2018 with 18 stars and no dependents — treat it as a spec, not a library. Read its locale-resolution and template-storage approach, then implement the equivalent in our stack: a mail_templates table (key, locale, subject, body, version), resolution order of user preference → account locale → request locale → default, and a render step with a strict allowlist of interpolated variables. Keep templates in version control as a seed source and the DB as the editable copy so we retain review history. Design the send path as a queued job from day one, and keep the transport swappable so we are not tied to one provider. Do not add the bundle to composer.json.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator