Google
Web dns.bdat.net

[PHP-ES] Re: verificar cuenta de email

Write haof XML files: Gustavo Narea ( gustavo@php.net)
Fecha: mié 25 ene 2006 - 01:53:48 CET


Hola, Fernando.

Fernando wrote:
> Amigos, tengo una duda. Tengo un problema con un formulario de
> consulta en el que la gente, muy por lo general, ingresa con errores
> su cuenta de email, haciendo que luego sea imposible responderles la
> consulta... En fin, cosas de ser humano. La pregunta es ¿existe
> alguna manera de verificar que una cuenta de email existe desde php?.
> No se trata de establecer si la cuenta es de ese usuario (es decir,
> no es una pregunta sobre seguridad) sino simplemente si la cuenta
> existe. Algo así como un "ping" a la cuenta. Otra posibilidad sería
> enviar un mail a la casilla que el usuario pone en el formulario,
> pero la función mail devuelve si un mail se envió o no, nada dice
> sobre si se recibió correctamente. Alguna ayudita? Gracias por
> adelantado. Fernando

La única forma 100% segura es que el usuario confirme que recibió el
correo-e.

Expresiones regulares *no* puesto que existen varias especificaciones de
cómo sería una cuenta de correo electrónico válida, y suponiendo que te
bases en la más usada para crear el pattern, el mismo sería
exageradamente enorme [1], por lo que implementar esta solución no sería
viable.

Por ejemplo, las siguientes direcciones son *válidas*:

gustavo@php.net
gustavo@olé.com (Dominio con caracteres del Latin1)
gustavo+ php@example.com
gustavo@dominio.con.multiples.subdominios.com.ve
gustavo@200.10.140.1 (IPv4)
gustavo@AF04:55BC:1234:9874:DD88::7777:54AA (IPv6)
gustavo@2001:0DB8::1428:57ab (IPv6)
gustavo@maquinalocal

Como creen que sería una expresión regular que sirva para validar estas
direcciones?

La de los registros MX tampoco me parece viable, considerando el
performance del script.

Por todo esto, y un tutorial muy bueno sobre el tema
< http://www.devshed.com/c/a/PHP/Email-Address-Verification-with-PHP/>,
es que yo prefiero confiarme en que el usuario confirme que recibió un
correo-e.

Saludos!

[1] Hace tiempo, en la lista de ayuda general inglesa en php.net
sugirieron un enlace a una página que mostraba una expresión regular
bastante eficaz (más no infalible) para validar direcciones de
correo-e... Pero ocupaba más de 1Kb (si no me equivoco).

-- 
Gustavo Narea.
PHP Documentation - Spanish Translation Team.
Valencia, Venezuela.
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:23:29 CET