El verdadero formato de las direcciones de correo electrónico

08 de Diciembre 2008 – 6:48 pm

Ya hace unos meses que escribí la entrada PHP: Validar email. Cuando estaba recogiendo información de como validar una dirección de correo electrónico, pensé en mirar el documento RFC 822 donde se especifica el formato estándar que debe seguir cualquier email. También miré en la Wikipedia (bendita Wikipedia).

En ésta última, muestra una lista de ejemplos de direcciones de correo electrónico válidos:

  • abc@example.com
  • Abc@example.com
  • aBC@example.com
  • abc.123@example.com
  • 1234567890@example.com
  • _______@example.com
  • abc+mailbox/department=shipping@example.com
  • !#$%&’*+-/=?^_`.{|}~@example.com (todos estos caracteres están permitidos)
  • “abc@def”@example.com (cualquier cosa que esté entre comillas)
  • “Fred Bloggs”@example.com
  • “Fred \”quota\” Bloggs”@example.com (ojo, las comillas deben escaparse)

Viendo estos ejemplos, la verdad que una expresión regular que compruebe todo esto se vuelve muy enrevesada. Un ejemplo de esta posible expresión regular, se encuentra entre las notas de pié de página de la entrada de la Wikipedia: Mail::RFC822::Address

Por ello opté por crear una expresión regular que comprobara las direcciones que permitían los servicios de correo electrónico más populares:

El problema de esto, es que se usará una expresión regular muy restrictiva respecto a la gramática especificada en el documento RFC 822, por lo que podrás considerar correos electrónicos que son válidos, como incorrectos.

Una posible solución es usar una expresión regular que permita prácticamente cualquier cosa. Aunque también hay que tener en cuenta que es muy difícil encontrar un servicio de correo electrónico que permita crear una dirección como las de la lista anterior.

  1. 3 Comentarios en “El verdadero formato de las direcciones de correo electrónico”

  2. yo me quiero hacer un correo example no hotmail no msn nd son boluuu o q?

    me lo quiero hacer ya!!!!!!

    Por candela el Ene 7, 2009

  3. @candela, “el dominio http://www.example.com es un dominio reservado (en la RFC 2606, sección 3) para ser utilizado en ejemplos y documentación.” Ver Example.com - Wikipedia.

    Por lo que te va a ser “muy difícil” tener una cuenta de correo electrónico con ese dominio.

    Por xanfran el Ene 7, 2009

  1. 1 Trackback(s)

  2. Dic 13, 2008: xanfran » PHP: Validar email

Deja un Comentario