- What is romanzipp/laravel-mailcheck used for?
- It is a Laravel wrapper around the MailCheck.ai disposable email API. It lets you detect temporary, throwaway, and disposable email addresses during validation so risky signups can be rejected before they reach your database. Typical uses include registration, lead capture, checkout, and newsletter forms.
- How do I install romanzipp/laravel-mailcheck in a Laravel app?
- Install it with Composer using romanzipp/laravel-mailcheck, then publish the package configuration if needed. Add your MailCheck.ai API key to environment secrets rather than committing it. After that, apply the package validation rule to the form requests where you want email risk checks.
- Which Laravel and PHP versions does this package support?
- The exact Laravel and PHP version support depends on the package Composer constraints and the current README. Check those constraints against your application matrix before committing to it. Because the wrapper is thin and may lag framework releases, verify compatibility in a staging branch first.
- How do I configure the MailCheck.ai API key for Laravel MailCheck?
- Publish the package config and set the MailCheck.ai API key through an environment variable stored in your secrets manager. Keep separate keys for staging and production so quota and testing do not interfere. Confirm the exact config key name from the published configuration file.
- How do I use the disposable email validation rule in a FormRequest?
- Add the package validation rule to the email field in the FormRequest or Validator where you want the check applied. Start with one low-risk form such as newsletter signup or registration before expanding. Custom validation messages can be configured so users see a clear rejection reason.
- Does this package call an external API, and what happens if MailCheck.ai is down?
- Yes, the package sends email addresses to the MailCheck.ai API for disposable email detection. That introduces availability, latency, rate-limit, quota, and cost risks, so you should configure timeouts, retries, logging, and a fallback policy. Common fallback choices are fail-open, fail-closed, or falling back to a local disposable-domain list.
- Can I test romanzipp/laravel-mailcheck without hitting the live MailCheck.ai API?
- You should mock HTTP calls in your test suite so tests do not depend on live MailCheck.ai availability or quota. Wrapping the package behind an internal service or custom validation rule makes mocking and swapping providers easier. Add CI tests for allowed emails, blocked emails, timeout behavior, and fallback behavior.
- Is this package production-ready for blocking disposable emails?
- It can be used in production, but it is a thin wrapper with low stars and zero dependents, so treat it as an accelerator rather than a battle-tested foundation. Run a staging spike, use a feature flag, and compare false-positive and abuse metrics before wider rollout. Also complete vendor procurement and privacy review because user email addresses are sent to a third party.
- What are alternatives to using romanzipp/laravel-mailcheck?
- Alternatives include a local disposable-domain blocklist, another email validation provider, or a custom Laravel validation rule that calls MailCheck.ai directly. You can also fork this thin wrapper and maintain it internally if needed. Keeping the check behind an internal EmailRiskService boundary makes replacing the package or provider much easier.
- Is romanzipp/laravel-mailcheck actively maintained, and what if it is abandoned?
- The package appears to be maintained by a single author with low adoption, so monitor upstream activity and pin the Composer version you approve. Because the wrapper is thin, forking it or replacing it with a small internal implementation is realistic if it is abandoned. Manage the MailCheck.ai credentials, quota, and subscription as operational assets.