jprangenbergde/temporary-email-detection
Detect disposable and temporary email addresses in Laravel with jprangenbergde/temporary-email-detection. A lightweight package for validating signups and blocking throwaway inboxes from known providers, helping keep your user base and mailing lists clean.
ClientInterface and ClientFactoryInterface turns this package from a convenience wrapper into a swappable integration layer. That materially strengthens the "buy/adopt" case, because our code can depend on the interface rather than the concrete client — reducing the cost of replacing or wrapping the vendor later.Adopt when:
ClientInterface) in domain code and keep the package at the edges of the architecture.Look elsewhere when:
Caveat on this release: v1.2 adds public contracts, and public contracts are hard to walk back. Confirm whether these interfaces are covered by the project's semver commitments (i.e., breaking changes to them will get a major version bump). Also verify whether the concrete client is now constructed only via the factory, or whether direct instantiation still works — the latter affects migration cost for anyone already using the package.
For executives (one paragraph): A dependency we're evaluating shipped a release that adds formal interfaces for its client and client factory. In practice this means our teams can plug in the package without hard-coding it into our product, test integrations without touching live systems, and swap providers later at low cost. It's a small release with an outsized effect on our build-vs-buy calculus: it moves this from "handy utility" to "reasonable foundation" for how we handle external integrations. The ask is not a commitment — it's to include the package in the architecture review for our next integration epic.
For engineering (summary): v1.2 introduces ClientInterface and ClientFactoryInterface. Depend on the interface, resolve through the factory, and keep concrete types out of domain code. This gives us injection points for mocks in tests and a defined extension seam for additional providers. Two things to verify before we standardize: whether the interfaces are under semver protection, and whether the factory is now the only supported construction path. Recommend a short spike to wrap one existing integration behind these contracts and measure the before/after test effort.
How can I help you explore Laravel packages today?