PHP code example of mwguerra / email-security-manager
1. Go to this page and download the library: Download mwguerra/email-security-manager library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mwguerra / email-security-manager example snippets
use MWGuerra\EmailSecurityManager\Traits\HasEmailSecurity;
class User extends Authenticatable
{
use HasEmailSecurity;
}
use MWGuerra\EmailSecurityManager\Services\EmailSecurityService;
class SecurityController extends Controller
{
public function __construct(
protected EmailSecurityService $securityService
) {}
public function
// Using different authenticatable models
$this->securityService
->useAuthenticatable(Admin::class)
->requestReverification($admin);
// Or specify in the method call
$this->securityService->requestReverification(
authenticatable: $customer,
authenticatableClass: Customer::class
);
// Force reverification for multiple users
$users = User::where('department', 'IT')->get();
$this->securityService->requestReverification(
authenticatables: $users,
reason: 'Department security update'
);
// Request password change for all active admins
$admins = Admin::where('is_active', true)->get();
$this->securityService
->useAuthenticatable(Admin::class)
->requestPasswordChange($admins);
// In your routes file
Route::middleware(['auth', 'verify.email'])->group(function () {
// Protected routes requiring valid email verification
});
// Get verification history
$user->securityAudits()->latest()->get();
// Get recent verifications
$user->securityAudits()
->emailVerifications()
->recent()
->get();
// Get password changes
$user->securityAudits()
->passwordChanges()
->get();
// Custom expiry periods
$this->securityService
->setVerificationExpiryDays(60)
->setPasswordExpiryDays(45)
->requestReverification($user);
// Get entities requiring action
$needsAction = $this->securityService->getAuthenticatablesRequiringAction();