Dino Geek essaye de t'aider

Comment valider une adresse email en PHP ?


Pour valider une adresse email en PHP, il existe plusieurs méthodes courantes que vous pouvez utiliser. Une des plus simples et des plus efficaces consiste à utiliser le filtre intégré `filter_var`. Cette fonction fait partie des filtres de validation et de nettoyage disponibles en PHP pour vérifier et valider différentes sortes de données. Voici un exemple :

```
$email = “example@domain.com”;

if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo “L’adresse email est valide.”;
} else { echo “L’adresse email n’est pas valide.”;
}
```

Dans cet exemple, `filter_var` prend deux arguments : la variable contenant l’adresse email à valider et la constante `FILTER_VALIDATE_EMAIL`, qui indique que le filtre à appliquer est la validation de l’email. Si l’email est conforme aux standards de format des emails, la fonction renvoie `true`, sinon `false`.

  1. Autres Méthodes de Validation

1. Expressions Régulières (Regex)
Bien que `filter_var` soit le moyen le plus couramment recommandé, vous pouvez également utiliser des expressions régulières pour des besoins de validation plus spécifiques. Voici un exemple simple :

```
$email = “example@domain.com”;

$pattern = “/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/”;

if (preg_match($pattern, $email)) { echo “L’adresse email est valide.”;
} else { echo “L’adresse email n’est pas valide.”;
}
```
Ce Regex vérifie que l’email suit le format standard : des caractères alphanumériques et certains symboles avant le “@”, suivi d’un nom de domaine valide.

1. Validation DNS
Pour aller plus loin, vous pouvez également vérifier si le domaine de l’adresse email a un enregistrement MX (Mail Exchanger) valide. Cette méthode permet de vérifier non seulement le format de l’adresse email, mais aussi son existence potentielle.

```
$email = “example@domain.com”;
list($user, $domain) = explode(‘@’, $email);

if (checkdnsrr($domain, ‘MX’)) { echo “Le domaine de l’adresse email a un enregistrement MX valide.”;
} else { echo “Le domaine de l’adresse email n’a pas d’enregistrement MX valide.”;
}
```

  1. Bibliothèques PHP
    Pour des besoins de validation avancés et de compatibilité avec différentes versions de PHP, il existe des bibliothèques tierces comme Egulias EmailValidator. Voici comment l’utiliser :

```
use Egulias\EmailValidator\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;

require ‘vendor/autoload.php’;

$email = “example@domain.com”;
$validator = new EmailValidator();
if ($validator->isValid($email, new RFCValidation())) { echo “L’adresse email est valide selon les standards RFC.”;
} else { echo “L’adresse email n’est pas valide selon les standards RFC.”;
}
```

  1. Références

- [PHP: filter\_var – Documentation](https://www.php.net/manual/fr/function.filter-var.php)
- [PHP: preg\_match – Documentation](https://www.php.net/manual/fr/function.preg-match.php)
- [PHP: checkdnsrr – Documentation](https://www.php.net/manual/fr/function.checkdnsrr.php)
- [Egulias/EmailValidator – GitHub](https://github.com/egulias/EmailValidator)

Ces différentes approches vous offrent une panoplie d’options pour valider les adresses email en PHP, chacune avec ses avantages et inconvénients selon le contexte dans lequel vous opérez. La validation via `filter_var` est recommandée pour la plupart des cas, tandis que les regex peuvent être utiles pour des formats spécifiques et la validation DNS pour vérifier l’existence réelle d’un serveur de messagerie.


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation