Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Validare una mail e un dominio con PHP :: Indice Php

Validare una mail e un dominio con PHP

Categoria: Php Inserito il: 24-10-2007 Stampa (14548 click)

In questo articolo vedremo come creare una funzione in grado di validare nello stesso tempo sia un indirizzo di posta elettronica che un nome di dominio.
La parte più rilevante della funzione viene svolta dal costrutto nativo checkdnsrr() che ha il compito di controllare i records DNS relativi ad un host Internet o ad un indirizzo IP.

I pratica checkdnsrr() effettua una ricerca dei records DNS di tipo differente (come ad es: A, MX, NS, SOA, PTR, CNAME o ANY) corrispondenti ad un determinato host; quindi restituisce TRUE se i records sono trovati, FALSE in caso contrario o se si verifica un errore.

Ecco il codice della nostra piccola applicazione:

<?php
function validaMail($mail){
$valida = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";

if(eregi($valida,$mail)){

  if(checkdnsrr(array_pop(explode("@",$mail)),"MX")){
  echo("L'indirizzo ". $mail . " è valido<br>");
   }else{
  echo("Mai valida. Dominio non valido.<br>");
   }
  }else{
  echo("L'indirizzo ". $mail . " non è valido<br>");
    } 
}

validaMail("sito.it");
validaMail("mail@sito.it");
validaMail("mail@sitositosito.it");
?>
Nell'uso dello script proposto è necessario tenere conto del fatto che la funzione checkdnsrr() non è stata implementata per funzionare su sistemi operativi Windows.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pių importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Restyling (quasi) completato
Il Restyling del sito Web č quasi completato, butto gių una piccola ToDo List sparsa di cose da fare: sicuramente... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti