andmemasin/yii2-emails-validator

A Yii2 module to do on-screen bulk validation of e-mails

Maintainers

Package info

github.com/TonisOrmisson/yii2-emails-validator

Type:yii2-extension

pkg:composer/andmemasin/yii2-emails-validator

Transparency log

Statistics

Installs: 2 915

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

2.1.0 2026-08-26 16:17 UTC

README

This package provides a stateless bulk e-mail validation module. It uses the existing Egulias RFC, RFC-warning, DNS, and spoof checks and does not write email addresses, validation history, or any other data to a database.

Yii2

Register the module as emailsvalidator and configure its existing accessPermissionName, maxInputKB (128 by default), and displayFlashMessages settings. The legacy /emailsvalidator page, public EmailAddress and EmailsValidationForm models, console command, defaults, and direct POST rendering remain available. GET renders the accessible native <emails-validator> component; POST remains the server-rendered compatibility path.

The package Composer bootstrap automatically registers one protected POST endpoint:

POST /emailsvalidator/api/v1/email-validations

Hosts that load the source directly, such as the dev app, must instead merge andmemasin\\emailsvalidator\\Module::apiRouteRules() into their application URL rules. This registers the same endpoint; do not register an additional unprefixed Yii route.

The endpoint accepts textInput, checkDNS, checkSpoof, and displayOnlyProblems, and returns the documented 200 result or 422 field-error response. The OpenAPI 3.1 document is at resources/openapi/email-validation-v1.json.

Optional Laravel adapter

Laravel is not a runtime dependency. Install the optional Illuminate packages when using the adapter, register andmemasin\\emailsvalidator\\laravel\\EmailValidationServiceProvider, and provide explicit configuration:

'emailsvalidator' => [
    'middleware' => ['auth'],
    'csrf_middleware' => ['web'],
    'max_input_kb' => 128,
],

Both middleware lists must be non-empty. max_input_kb must be a positive integer; 128 is used only when the setting is absent. Register or load the package route file and render the Blade view with non-empty apiBase, csrfToken, and assetBase values. The host must serve the build-free files in resources/ui (the package has no npm or frontend build step).

The Laravel adapter keeps its existing protected POST /api/v1/email-validations route. The module is stateless and has no one-writer rule: not applicable: this module writes nothing.