<?php

function check_email($email) {  // First, we check that there's one @ symbol, and that the lengths are right 
        if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $email)) {   
                // Email invalid because wrong number of characters in one section, or wrong number of @ symbols.   
                return false
        }  // Split it into sections to make life easier 
       
        $email_array = explode("@", $email)
        $local_array = explode(".", $email_array[0])
        for ($i = 0; $i < sizeof($local_array); $i++) {     
                if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {     
                        return false;   
                }
        }   
        if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
                // Check if domain is IP. If not, it should be valid domain name   
                $domain_array = explode(".", $email_array[1]);   
                if (sizeof($domain_array) < 2) {       
                        return false; // Not enough parts to domain   
                }   
                for ($i = 0; $i < sizeof($domain_array); $i++) {     
                        if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) {       
                                return false;     
                        }   
                } 
        } 
        return true;
}

$email = $_POST['email'];
if(!check_email($email)){
        echo "Email is not valid";
}

?>