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

Mailhookbundle Laravel Package

scullwm/mailhookbundle

MailHookBundle is a Symfony bundle that captures outgoing emails during development so you can inspect and debug them locally instead of sending to real recipients. It helps test templates, links, and delivery flows safely before production.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Inbound email as a product surface. MailHookBundle handles the "receive" side of email: provider webhooks (SES being the most recently touched provider) get verified, parsed, and turned into application events. That underpins reply-by-email threads, support-ticket ingestion, inbound attachments, bounce/complaint handling, and per-tenant email aliases.
  • Build vs buy on webhook plumbing. The genuinely fiddly parts of inbound mail are signature verification, SNS/SES notification unwrapping, MIME parsing, and idempotency. A small bundle that already ships providers is worth evaluating before assigning a sprint to it — but see the maintenance caveat below; this is a "buy with a fork budget," not a "buy and forget."
  • Roadmap compatibility gate. 3.0.2's headline item is Symfony 5 support, plus a fix for the deprecated TreeBuilder::root API. That moves the supported range forward from the 3.0.x line's earlier constraints and unblocks teams standardizing on Symfony 4.4/5.x. It does not signal readiness for Symfony 6/7 — if your 2025 roadmap assumes Symfony 6+, this release does not get you there.
  • Platform fit correction. Despite being filed here as a "Laravel/PHP package," this is a Symfony bundle (ScullWM/MailHookBundle) — it registers via bundle config and the Symfony event dispatcher, not a Laravel service provider. For a Laravel codebase the realistic decision is not "adopt this," but "use this bundle's provider implementations as a reference spec while building the Laravel equivalent (queued job + Mail:: / notification pipeline)."
  • Vendor concentration risk. A 4-PR patch release with one first-time contributor is a signal to scope the integration behind an internal interface (e.g. an InboundMailGateway contract) so the provider plumbing can be swapped without touching domain code.

When to Consider This Package

Consider it when all or most of the following hold:

  • The application is Symfony 4.4 or 5.x — the version 3.0.2 explicitly targets.
  • You need inbound mail handling via a provider webhook (SES today; the provider layer is the package's core abstraction), not outbound sending.
  • You want a thin integration and are comfortable pinning the version and owning a fork — the release cadence is low, and CI/process changes in this release (PR #11) suggest the test pipeline was being reworked rather than expanded.
  • Your volume and compliance needs are modest enough that a bundle-level solution beats a dedicated inbound-email SaaS.

Look elsewhere when:

  • You are on Laravel. There is no service provider, config publishing, or queue integration here. Use Laravel's native mail/notification events plus a maintained inbound-email package, or build on the SES/SNS payload directly; treat this bundle as documentation.
  • You are on Symfony 6 or 7. Symfony 5 support is the ceiling named in this release; there is no stated plan for 6/7. Adopting a bundle that is one major version behind your framework's LTS is a migration debt you inherit on day one.
  • You need a hard support commitment. One maintainer, four PRs, one new contributor. Fine for a spike; risky for a revenue-path feature without internal ownership.
  • Parsing fidelity is the hard requirement (complex MIME, nested forwards, calendar invites, aggressive charset handling). Provider webhook glue is not the same problem as robust MIME parsing — pair it with a dedicated parser rather than assuming the bundle covers it.
  • Security review is non-trivial. "Update SES provider" in a patch release touches signature/verification code; review the diff in PR #12 before shipping.

How to Pitch It (Stakeholders)

For executives: We evaluated MailHookBundle, a small open-source Symfony component for receiving inbound email — the plumbing behind reply-by-email and email-to-ticket features. The new 3.0.2 release is a maintenance patch: it adds Symfony 5 compatibility, updates the SES provider, fixes one deprecation, and refreshes CI. There are no breaking changes and no new user-facing capabilities. The strategic read is that it is useful glue, not a platform: single maintainer, low release cadence, and no stated path to Symfony 6/7. Recommendation: do not make it a dependency of a revenue-critical path as-is. If we want the capability, budget a thin internal abstraction over inbound mail plus a fork-and-pin of this bundle, so we can absorb a maintainer going quiet without a rewrite.

For engineering: This is a Symfony bundle — clarify that up front, because it's been triaged as a Laravel/PHP package and it isn't one. On Laravel, the actionable output is the provider implementations as a reference for our own SNS/SES webhook handler, not a composer require. On Symfony 4.4/5.x, it's adoptable with a version pin: wrap it behind our own inbound-mail interface, add idempotency keys on provider message IDs, and put a test around signature verification since PR #12 changed SES provider code in a patch release. Set an explicit checkpoint to reassess if Symfony 6/7 support doesn't land — that date, not the changelog, is the real decision point.

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.
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
equipc/laravel-email-database-log
adedsec/nova-translated-labels
wazza/laravel-db-encryption
hokny/laravel-generator
vonsogt/backup
jengo/queues
jeremykenedy/laravel-observability
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums