milenmk/laravel-email-change-confirmation
Laravel package for confirming user email address changes. Adds a verification flow (often via signed link/token), protects accounts by requiring confirmation before updating the email, and integrates cleanly with common auth setups in Laravel apps.
Illuminate\Auth, Illuminate\Mail). It avoids reinventing core Laravel patterns, reducing architectural friction.Illuminate\Auth\Events\Verified) for extensibility.throttle). Minimal risk of introducing vulnerabilities if configured correctly.laravel/breeze, laravel/jetstream, or laravel/fortify for auth scaffolding. If using a custom auth system, additional abstraction may be needed.email_verification_token table). Compatible with Laravel migrations but may require customization for multi-tenant or sharded setups.config toggle).User model traits) be adapted?database, redis) are you using? Does the package support async email sending?Illuminate\Contracts\Auth\MustVerifyEmail.Illuminate\Mail\Mailable for email templates.Illuminate\Validation\Rules\Exists.php artisan queue:work) for async email processing.User model traits).bcmath, openssl, mbstring (standard in Laravel).email_verification_token table.spatie/laravel-activitylog (if tracking email changes)..env variables for MAIL_*).php artisan vendor:publish --tag="email-change-confirmation").config/email-change-confirmation.php (e.g., token expiry, email templates).User model or add traits if not using default auth.MailFake for unit tests).config/caching to reduce runtime overhead from config checks.dd(), Xdebug).storage/logs/laravel.log).config/email-change-confirmation.php values align with security policies.Redis) for rate-limiting.database or redis driver) to avoid blocking HTTP requests.email_verification_token table on token and user_id for large-scale users.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Email delivery failure | Users can’t confirm changes. | Fallback to SMS/console notifications; log failures for review. |
| Token collision (race condition) |
How can I help you explore Laravel packages today?