PHPackages                             jersyfi/laravel-verify-email - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. jersyfi/laravel-verify-email

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

jersyfi/laravel-verify-email
============================

A package for email verification in laravel

v1.0.0(5y ago)010MITPHPPHP ^7.3|^8.0

Since Mar 11Pushed 5y ago1 watchersCompare

[ Source](https://github.com/Jersyfi/laravel-verify-email)[ Packagist](https://packagist.org/packages/jersyfi/laravel-verify-email)[ Docs](https://github.com/jersyfi/laravel-localization)[ RSS](/packages/jersyfi-laravel-verify-email/feed)WikiDiscussions main Synced yesterday

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

E-Mail Verification for Laravel
===============================

[](#e-mail-verification-for-laravel)

[![Packagist Downloads](https://camo.githubusercontent.com/3424e00913d3d22ca6f3fbe922e2ae3d6d49f12c2ac8689d7110115c88fd7323/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a6572737966692f6c61726176656c2d7665726966792d656d61696c)](https://camo.githubusercontent.com/3424e00913d3d22ca6f3fbe922e2ae3d6d49f12c2ac8689d7110115c88fd7323/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6a6572737966692f6c61726176656c2d7665726966792d656d61696c)[![Packagist Version](https://camo.githubusercontent.com/dacd830f42af8e4951e2edfcaa5de0d4c6c622a8c4093f84cb62662ef12663dd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a6572737966692f6c61726176656c2d7665726966792d656d61696c)](https://camo.githubusercontent.com/dacd830f42af8e4951e2edfcaa5de0d4c6c622a8c4093f84cb62662ef12663dd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6a6572737966692f6c61726176656c2d7665726966792d656d61696c)[![GitHub License](https://camo.githubusercontent.com/3e87a32933bc6ac8df3efb8a27166ce38a1cf4e96025e268349d76b8d6c59c96/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6a6572737966692f6c61726176656c2d7665726966792d656d61696c)](https://camo.githubusercontent.com/3e87a32933bc6ac8df3efb8a27166ce38a1cf4e96025e268349d76b8d6c59c96/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6a6572737966692f6c61726176656c2d7665726966792d656d61696c)

Simple designed email verification based on the laravel email verification features. Verify Email publishes the scaffolding to your laravel application that can be easily customized based on your own application's needs. The easiest way is to use [laravel breeze](https://github.com/laravel/breeze) because it is designed the same way.

It is suggested to use [laravel breeze](https://github.com/laravel/breeze) but you don't need to. When you are not using the suggested package please get familiar with [laravel email verification](https://laravel.com/docs/8.x/verification) before starting here.

Installation
------------

[](#installation)

It is also easy to install this package.

```
composer require jersyfi/laravel-verify-email

php artisan verify-email:install
```

Prepare your application
------------------------

[](#prepare-your-application)

The user model needs to use the trait `MustVerifyNewEmail`. Also it is necessary to override the default function `sendEmailVerificationNotification`.

```
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Notifications\Notifiable;
use App\Traits\Auth\MustVerifyNewEmail;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable, MustVerifyNewEmail;

    public function sendEmailVerificationNotification()
    {
        $this->newEmail($this->getEmailForVerification());
    }
}
```

In the routes you need to add the following example. You are free to customize your route name but keep in mind to update it in your config or in your auth trait `MustVerifyNewEmail`. The redirect route after verification can be changed in config or in the controller `VerifyNewEmailController`.

```
use App\Http\Controllers\Auth\VerifyNewEmailController;

Route::get('/verify-email/{id}/{hash}', [VerifyNewEmailController::class, '__invoke'])
    ->middleware(['auth', 'signed', 'throttle:6,1'])
    ->name('verification.verify');
```

At least you need to migrate the `%_create_pending_user_emails.php` migration.

```
php artisan migrate
```

Configuration
-------------

[](#configuration)

The configuration can be made in the config file `verify-email` or in the published files. All config values have there used file path.

For the verification url the `route.for` is required or go to `app/Traits/Auth/MustVerifyNewEmail` and change it in function `verificationUrl`. When calling the varification link the `route.after` is required to redirect or go to `app/Http/Controllers/Auth/VerifyNewEmailController` and change it in function `__invoke`.

```
'route' => [
    'for' => 'verification.verify',
    'after' => 'home',
],
```

You can decide if the user's verification status resets on every email change or go to `app/Traits/Auth/MustVerifyNewEmail` and change it in function `newEmail`.

```
'reset_verification' => true,
```

You can change the active time of the verification link with a number in minutes or go to `app/Traits/Auth/MustVerifyNewEmail` and change it in function `verificationUrl`.

```
'expire' => 60,
```

Usage
-----

[](#usage)

When you want to change to user's email you can call the user function `syncEmail`.

```
$request->user()->syncEmail($request->input('email'));
```

If you need to get the pending email you can call the user function `getPendingEmail`.

```
$request->user()->getPendingEmail();
```

In case you need to clear the user's pending email call `clearPendingEmail`.

```
$request->user()->clearPendingEmail();
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Credits
-------

[](#credits)

- [Jérôme Bastian Winkel](https://github.com/jersyfi)
- [All Contributors](../../contributors)

This package was inspired by the [Laravel Verify New Email](https://github.com/protonemedia/laravel-verify-new-email) package by [Protone Media](https://github.com/protonemedia).

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

1887d ago

Major Versions

v0.2.3 → v1.0.02021-03-12

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/64214261?v=4)[Jérôme Bastian Winkel](/maintainers/jersyfi)[@Jersyfi](https://github.com/Jersyfi)

---

Top Contributors

[![Jersyfi](https://avatars.githubusercontent.com/u/64214261?v=4)](https://github.com/Jersyfi "Jersyfi (34 commits)")

---

Tags

emailemail-verificationlaravellaravel-breezelaravel-frameworklaravel-packagephpsecurityverificationverification-emaillaravelbreezeemail-verificationlaravel-verify-new-emaillaravel-breezejersyfiverify-emaillaravel-verify-email

### Embed Badge

![Health badge](/badges/jersyfi-laravel-verify-email/health.svg)

```
[![Health](https://phpackages.com/badges/jersyfi-laravel-verify-email/health.svg)](https://phpackages.com/packages/jersyfi-laravel-verify-email)
```

###  Alternatives

[vemcogroup/laravel-sparkpost-driver

SparkPost driver to use with Laravel 6.x|7.x|8.x|9.x|10.x

421.7M1](/packages/vemcogroup-laravel-sparkpost-driver)[synergitech/laravel-postal

This library integrates Postal with the standard Laravel mail framework.

38107.1k](/packages/synergitech-laravel-postal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
