PHPackages                             andreaskiessling/validemail - 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. [Validation &amp; Sanitization](/categories/validation)
4. /
5. andreaskiessling/validemail

ActiveTypo3-cms-extension[Validation &amp; Sanitization](/categories/validation)

andreaskiessling/validemail
===========================

Extends the TYPO3 email validation, see https://forge.typo3.org/issues/102629 and https://github.com/egulias/EmailValidator/issues/359

v2.0.0(3mo ago)23181GPL-2.0-or-laterPHPPHP &gt;=8.1,&lt;8.6CI passing

Since Aug 19Pushed 3mo agoCompare

[ Source](https://github.com/akiessling/t3ext-validemail)[ Packagist](https://packagist.org/packages/andreaskiessling/validemail)[ RSS](/packages/andreaskiessling-validemail/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (5)Versions (5)Used By (0)

validemail - Enhanced Email TLD Validation for TYPO3 v11 to v13
===============================================================

[](#validemail---enhanced-email-tld-validation-for-typo3-v11-to-v13)

The `validemail` extension extends TYPO3's standard email validation with an improved TLD validation. It adds a check for the domain, so that at least one dot is present after the @-sign.

How to test in your setup
-------------------------

[](#how-to-test-in-your-setup)

When doing a manual test, the browser validation will prevent you from submitting the form, if the email address is invalid.

Bots just send the form data to the action URL of the form tag, and then the \\TYPO3\\CMS\\Core\\Utility\\GeneralUtility::validEmail method is usually used to validate the email address. This method uses egulias/email-validator which does not check if the domain contains a dot.

Warning:
--------

[](#warning)

Do not install this package if you send emails to local addresses or in an intranet environment that do not have a dot in the domain part.

Test on your own
----------------

[](#test-on-your-own)

If you want to test this behavior yourself, deactivate JavaScript in your browser, which will also disable the browser validation. Then submit your form with something like "test@example" - this will be accepted by the validEmail check without this extension.

See these issues for additional information:

-
- [egulias/EmailValidator#359](https://github.com/egulias/EmailValidator/issues/359)

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

[](#installation)

### Via Composer (recommended)

[](#via-composer-recommended)

```
composer require andreaskiessling/validemail
```

Testing (local Docker matrix)
-----------------------------

[](#testing-local-docker-matrix)

This repository contains a local Docker-based test matrix to run the unit tests against multiple TYPO3 and PHP versions.

### Prerequisites

[](#prerequisites)

- Docker with `docker compose`
- GNU Make (optional, but convenient)

### Build / rebuild the PHP test runner images

[](#build--rebuild-the-php-test-runner-images)

Build all images (uses cache where possible):

```
make build
```

Force a clean rebuild (helpful after changing `docker/php-cli/Dockerfile`):

```
make rebuild
```

### Run the full test matrix

[](#run-the-full-test-matrix)

```
make test-matrix
```

Each matrix entry runs in its own sandbox under:

- `.Build/matrix//`

This keeps your working tree clean (no `vendor/` or `composer.lock` changes in the repo root).

### Run only a single matrix entry (or a subset)

[](#run-only-a-single-matrix-entry-or-a-subset)

You can filter matrix entries by substring:

```
make test-matrix-filter FILTER=t14
make test-matrix-filter FILTER=13.4:php84:t13
```

Tip: To see all available entries, open `scripts/test-matrix.sh` and look at the `MATRIX=(...)` list.

### Note about TYPO3 v11 and Composer security advisories

[](#note-about-typo3-v11-and-composer-security-advisories)

TYPO3 v11 is EOL and flagged by Packagist security advisories. For local matrix testing, the script disables Composer's "block insecure" mechanism inside the TYPO3 v11 sandbox only. This is done purely to keep legacy test coverage; it is not a recommendation for production usage.

This extension will hopefully be obsolete once [egulias/EmailValidator#359](https://github.com/egulias/EmailValidator/issues/359) is solved.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance82

Actively maintained with recent releases

Popularity20

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 93.8% 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 ~225 days

Total

2

Last Release

92d ago

Major Versions

v1.0.0 → v2.0.02026-04-02

PHP version history (2 changes)v1.0.0PHP &gt;=7.4.0

v2.0.0PHP &gt;=8.1,&lt;8.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/54b4c989ace125560f9d21272e80fb1d57bd1d7a0b4dba5954a07d8930a05dab?d=identicon)[akiessling](/maintainers/akiessling)

---

Top Contributors

[![akiessling](https://avatars.githubusercontent.com/u/2895543?v=4)](https://github.com/akiessling "akiessling (15 commits)")[![MisterMarlu](https://avatars.githubusercontent.com/u/15226569?v=4)](https://github.com/MisterMarlu "MisterMarlu (1 commits)")

---

Tags

TYPO3 CMS

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/andreaskiessling-validemail/health.svg)

```
[![Health](https://phpackages.com/badges/andreaskiessling-validemail/health.svg)](https://phpackages.com/packages/andreaskiessling-validemail)
```

###  Alternatives

[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[lochmueller/staticfilecache

Transparent static file cache solution using mod\_rewrite and mod\_expires. Increase performance for static pages by a factor of 230!!

1271.4M4](/packages/lochmueller-staticfilecache)[derhansen/sf_event_mgt

Event management and registration - Configurable event management and registration extension based on ExtBase and Fluid

66338.4k10](/packages/derhansen-sf-event-mgt)[brotkrueml/schema

Embedding schema.org vocabulary - API and view helpers for schema.org markup

34653.7k16](/packages/brotkrueml-schema)[yoast-seo-for-typo3/yoast_seo

Yoast SEO for TYPO3

511.7M9](/packages/yoast-seo-for-typo3-yoast-seo)[web-vision/deepltranslate-core

DeepL Translate (CORE) - This extension provides option to translate content element, and TCA record texts to DeepL supported languages.

33142.5k8](/packages/web-vision-deepltranslate-core)

PHPackages © 2026

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