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.
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.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)."InboundMailGateway contract) so the provider plumbing can be swapped without touching domain code.Consider it when all or most of the following hold:
Look elsewhere when:
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.
How can I help you explore Laravel packages today?