PHPackages                             selim-salihovic/verifi - 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. selim-salihovic/verifi

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

selim-salihovic/verifi
======================

A Laravel package to handle email verification.

1.0.6(8y ago)110MITPHPPHP ^7.1

Since May 30Pushed 8y ago1 watchersCompare

[ Source](https://github.com/SelimSalihovic/verifi)[ Packagist](https://packagist.org/packages/selim-salihovic/verifi)[ Docs](https://github.com/meness/verifi)[ RSS](/packages/selim-salihovic-verifi/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (10)Versions (12)Used By (0)

Laravel Verifi
==============

[](#laravel-verifi)

[![Travis](https://camo.githubusercontent.com/7fb4075cfbfd371e0b363602fb9f5719b0ba05ab47b9c40ba6e892f2d7d59433/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6d656e6573732f7665726966692e737667)](https://travis-ci.org/meness/verifi)[![Packagist](https://camo.githubusercontent.com/55249d8c764a75004ed2fd3e4b6f94685e6b79ab5dec0fe251cdcb023e2b1b94/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d656e6573732f7665726966692e737667)](https://packagist.org/packages/meness/verifi)[![Packagist](https://camo.githubusercontent.com/9ed056b2fd7b26ea81fe065e5391b94e027b4b74d0e2ff1b0f3091af6a7e378e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d656e6573732f7665726966692e737667)](https://packagist.org/packages/meness/verifi)[![Packagist](https://camo.githubusercontent.com/e67191ab13c723cb9a47af51cb4e8b4bd874e5839a1304b7528bdffa31b4e2b3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d656e6573732f7665726966692e737667)](https://packagist.org/packages/meness/verifi)

A Laravel package to handle email verification.

It is inspired by [crypto-based password resets](https://github.com/laravel/framework/pull/17499) and the [email verification package by josiasmontag](https://github.com/josiasmontag/laravel-email-verification).

- Crypto-based email verification. No need to store a temporary token in the database!
- Event-based totally. No need to override your `register()` method.
- Using the Laravel 5.4 notification system.
- You're free to create routes anyway you like.
- Resend the verification email anytime.
- Customize the email notification.

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

[](#installation)

Install this package via Composer.

```
composer require meness/verifi

```

You must install both the service provider and the facade.

```
'providers' => [
    ...
    Meness\Verifi\Providers\VerifiServiceProvider::class,
];

'aliases' => [
    ...
    'Verifi' => Meness\Verifi\Facades\Verifi::class,
];
```

A migration is provided to add a `is_email_verified` column to the existing `users` table, you can publish the migration.

```
php artisan vendor:publish --provider="Meness\Verifi\Providers\VerifiServiceProvider" --tag="migrations"

```

Remember to run the following command if you published the migration.

```
php artisan migrate

```

A configuration file is also provided, you can publish the configuration.

```
php artisan vendor:publish --provider="Meness\Verifi\Providers\VerifiServiceProvider" --tag="config"

```

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

[](#configuration)

### `expiration`

[](#expiration)

`1440` (in minutes, 24 hours) set by default.

### `verify_route`

[](#verify_route)

`/verify` set by default. Change the value if you're using a different route for verification.

### `send_notifications`

[](#send_notifications)

`true` set by default. Let this package send an email notification automatically after the registration complete.

How to Use (Step by Step)
-------------------------

[](#how-to-use-step-by-step)

### Step One

[](#step-one)

1. The `User` model must implement `Meness\Verifi\Entities\Traits\Contracts\Verifi` interface.
2. Add `Meness\Verifi\Entities\Traits\VerifiTrait` as a trait if you're going to use the default notification.

```
class User extends Authenticatable implements Verifi
{
    use Notifiable, VerifiTrait;
}
```

**Note:** Some methods are not implemented, you must do it yourself.

### Step Two

[](#step-two)

You're free to create routes, because there're no default routes provided with this package.

```
Route::get('/verify', 'Auth\RegisterController@verify');
Route::get('/resend', 'Auth\RegisterController@resend');
```

**Note:** Remember to change the `verify_route` value if you're not going to use the default route.

### Step Three (Optional)

[](#step-three-optional)

Create listeners for necessary events. There're three events provided with this package: `InvalidCredentials`, `VerificationSent`, and `Verified`.

### Step Four

[](#step-four)

There're two methods available, `verify()` and `resend()`.

**Note:** An email verification will be sent after the registration complete if `send_notifications` set `true`, so you're not required to do it manually.

#### `verify()`

[](#verify)

`Verifi::verify()` expects a request object and an optional callback. It verifies credentials provided with the request.

```
Verifi::verify(request(), function ($user) {

	if (is_null($user)) {
		// Invalid credentials provided
	} else {
		// Verified
	}
});
```

#### `resend()`

[](#resend)

`Verifi::resend()` expects an user model object and an optional callback. It sends the verification email to the provided user.

```
Verifi::resend($user, function ($user) {
	// Resent successfully
});
```

### Step Five (Optional)

[](#step-five-optional)

There's a middleware called `IsEmailVerified` to determine if the user's email address is verified.

```
$routeMiddleware = [
    ...
    'isEmailVerified' => \Meness\Verifi\Http\Middleware\IsEmailVerified::class,
];
```

Changelog
---------

[](#changelog)

Please see [releases](https://github.com/meness/verifi/releases) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Alireza Eskandarpour Shoferi](https://about.me/meness)
- [Contributors](https://github.com/meness/verifi/graphs/contributors)

License
-------

[](#license)

Verifi is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 73.5% 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

7

Last Release

3269d ago

PHP version history (3 changes)1.0PHP &gt;=7.1

1.0.1PHP ^7.0

1.0.4PHP ^7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/99dd9e5430f626699d423ce8b291cc0849cf64f0a6e2db88e0facc1ee2f5b05f?d=identicon)[SelimSalihovic](/maintainers/SelimSalihovic)

---

Top Contributors

[![meness](https://avatars.githubusercontent.com/u/7955356?v=4)](https://github.com/meness "meness (25 commits)")[![SelimSalihovic](https://avatars.githubusercontent.com/u/3939551?v=4)](https://github.com/SelimSalihovic "SelimSalihovic (7 commits)")[![ankurk91](https://avatars.githubusercontent.com/u/6111524?v=4)](https://github.com/ankurk91 "ankurk91 (1 commits)")[![the94air](https://avatars.githubusercontent.com/u/18303390?v=4)](https://github.com/the94air "the94air (1 commits)")

---

Tags

laravelemailverification

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/selim-salihovic-verifi/health.svg)

```
[![Health](https://phpackages.com/badges/selim-salihovic-verifi/health.svg)](https://phpackages.com/packages/selim-salihovic-verifi)
```

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[laravel/scout

Laravel Scout provides a driver based solution to searching your Eloquent models.

1.7k49.4M479](/packages/laravel-scout)[yadahan/laravel-authentication-log

Laravel Authentication Log provides authentication logger and notification for Laravel.

416632.8k5](/packages/yadahan-laravel-authentication-log)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[meness/verifi

A Laravel package to handle email verification.

5516.9k](/packages/meness-verifi)

PHPackages © 2026

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