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

To Inline Style Email Bundle Laravel Package

gushphp/to-inline-style-email-bundle

A Symfony bundle that inlines CSS in HTML email templates for better rendering across email clients. It wraps the to-inline-style-email library and adds Symfony service and configuration integration, helping prevent stripped or ignored styles in Gmail, Outlook, and other clients.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Whether CSS inlining is a product capability worth owning. If customer-facing email (receipts, password resets, digests, onboarding sequences, white-label notifications) must render consistently in Gmail, Outlook, and Apple Mail, inlining is not optional — those clients strip or ignore <style> blocks and external stylesheets. This package is a data point in that build-vs-buy conversation, not the answer to it.
  • Build vs. buy (vs. "buy the dependency, not the wrapper"). The actual value here is tijsverkoyen/css-to-inline-styles, which is MIT and still maintained. This bundle is a Symfony2 service wrapper around it — a wrapper-of-a-wrapper whose last release was June 2017. The PM decision is: depend on the maintained library directly and write a ~1-day internal adapter, rather than inherit an unmaintained bridge.
  • Framework-fit check on your stack. This is a Symfony2 bundle, not a Laravel package. If the team is on Laravel (any version) or Symfony 5/6/7, the bundle's service registration and composer constraints almost certainly don't apply. Treat it as a reference implementation of the pattern, not a dependency.
  • Roadmap inputs for the email/notifications surface. Choosing an inliner forces decisions you'll live with: do you inline at send time (runtime CPU cost per email, always fresh) or at template publish time (cheaper at volume, stale risk)? Do you support per-tenant branding/theming? Do you need a preview/"send test" tool for marketing? These are roadmap items regardless of which library wins.
  • Use cases this validates: marketing-authored HTML exported from design tools (Mailchimp/Figma-to-HTML) that must be sent from your own transactional pipeline; white-label customer emails requiring per-tenant CSS; migrating from a third-party ESP to in-house sending.
  • What it should not drive: any long-term architectural commitment. 59 stars, 0 dependents, and no release in ~8 years is a clear signal — this is a low-risk reference, high-risk foundation. Score (2.12) and opportunity (19.58) both argue for deprioritizing it as a strategic bet.

When to Consider This Package

Consider it if:

  • You maintain a legacy Symfony 2.x application (EOL since Nov 2018) and need a drop-in inliner service/Twig filter to close a deliverability bug this quarter.
  • You only need a thin service wrapper and are comfortable pinning an EOL dependency tree under an exception in your security policy.
  • You want a reference implementation to copy the integration pattern from — how to expose inlining as a service, where to hook it into the mailer — before writing your own adapter against the maintained upstream library.

Look elsewhere if:

  • You're on Laravel. There's no service provider here; the bundle structure is inert. Use fedeisas/laravel-mail-css-inliner, or call tijsverkoyen/css-to-inline-styles directly from a Mailable/ listener — that's the mainstream path and it's a few lines of code.
  • You're on PHP 8+ or Symfony 5+. The 2017 composer constraints and Symfony2 bundle conventions will fight you; the upgrade cost exceeds the value.
  • Security/compliance review requires maintained dependencies. Zero dependents and no CVE response path means anything you build on it is effectively yours to patch. That's a real cost, not a theoretical one.
  • You're sending at volume. Runtime inlining on every send is CPU you'll pay for forever. Consider inlining in the template build/publish step, or adopting an authoring tool (MJML, Inky) that emits email-safe HTML with inlining built in.
  • You need more than inlining. Alt-text generation (soundasleep/html2text), AMP for Email, dark-mode handling, and client-specific hacks are all out of scope here — budget for them separately or you'll be stitching tools together later.

How to Pitch It (Stakeholders)

Summary for executives and engineering:

We evaluated gushphp/to-inline-style-email-bundle for CSS inlining in our email pipeline — the technical step that makes branded HTML emails render correctly in Gmail, Outlook, and Apple Mail. It's MIT-licensed and free, and it solves a genuine customer-visible problem: broken layouts in transactional and notification emails, which generate support tickets and dilute brand trust.

However, I do not recommend adopting this package. It's a Symfony2 wrapper last released in June 2017, with zero dependent projects and a dependency tree pinned to an end-of-life framework. On a Laravel or modern Symfony codebase it isn't directly usable; even where it is, we'd own maintenance indefinitely with no upgrade path and no security response.

The recommendation is to get the same capability with far less risk: depend directly on the maintained upstream library (tijsverkoyen/css-to-inline-styles, MIT) and write a thin internal adapter — roughly one engineer-day. We keep the framework-agnostic core, control the integration point, and avoid betting the email pipeline on an abandoned bridge.

Cost/benefit: ~1 day of engineering against a recurring class of rendering defects and support load. Decision needed: approve the thin-adapter approach and, separately, decide whether inlining runs at send time or at template publish time — that choice affects infrastructure cost as volume grows and should be made before we build, not after.

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.
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk