ahh pero si usas joomja y la extencion es la que valida, para que quieres tu hacer una doble validacion?
por cierto la extencion desarma el mail y comprueba que exista el dns, eso es algo no recomendado (por mi al menos), ya que la velocidad de tu script depende de la velocidad de la comunicacion entre dos server, ademas suponte que un dia gmail se caiga (poco probable) ese dia, las cuentas de gmail no seran correos validos.
si quieres saber mas te dejo las funciones que usa la extencion para que las estudies por tu cuenta.
Código PHP:
Ver originalfunction ValidateEmail()
{
// data aren't destinated to this form
//if (!count($_POST)) return true;
if (!isset($_POST[$this->GetId()])) return true;
// email field is disabled
if (!isset($this->Fields['sender1'])) return true;
// email field is empty and optional
if (empty($this->Fields['sender1']['Value']) && $this->Fields['sender1']['Display'] == 1) return true;
if (!isset($this->Fields['sender1']['Value'])) return false;
//jimport('joomla.mail.helper');
//(JMailHelper::isEmailAddress($email) == false)
// Check the syntax
$this->Fields['sender1']['IsValid'] &= (bool
)strlen(filter_var($this->Fields['sender1']['Value'], FILTER_VALIDATE_EMAIL
));
// Check mx record
$db = JFactory::getDBO();
$sql = "SELECT value FROM #__" . $GLOBALS["ext_name"] . "_settings WHERE name = 'dns';";
$db->setQuery($sql);
$method = $db->loadResult();
if ($method)
{
$result = $this->$method();
}
}
function dns_check()
{
// Check mx record
if (empty($this->Fields['sender1']['Value'])) return;
$parts = explode("@", $this->Fields['sender1']['Value']); $this->Fields['sender1']['IsValid'] &= checkdnsrr($domain, "MX"); }
como veras no solo revisa los dns sino que tiene una tabla en su base de datos con los correos que admite, es algo bastante complejo para la finalidad que tiene.