para mandar example enviar emailjs correo con codigo automatico javascript validation email email-address

javascript - example - mandar un correo con js



lista de direcciones de correo electrónico que se pueden usar para probar un script de validación de JavaScript (3)

¿Alguien tiene una lista de direcciones de correo electrónico que puedo usar para probar mi script de validación de direcciones JS? Estoy buscando una lista tan completa como sea razonable para probar los casos más comunes, si no todos los casos.


Ejemplos válidos de acuerdo con RFC2822

  • [email protected]
  • [email protected]
  • [email protected]
  • name / @ tag @ example.com - esta es una dirección de correo electrónico válida que contiene dos @ símbolos.
  • spaces / are / [email protected]
  • "espacios pueden ser citados" @ example.com
  • ! # $% & ''* + - / =.? ^ _ `{|} ~ @ [1.0.0.127]
  • ! # $% & ''* + - / =.? ^ _ `{|} ~ @ [IPv6: 0123: 4567: 89AB: CDEF: 0123: 4567: 89AB: CDEF]
  • yo (esto es un comentario) @ example.com - los comentarios son desalentados pero no prohibidos por RFC2822.

Ejemplos inválidos según RFC2822s

  • yo@
  • @ example.com
  • yo. @ example.com
  • .me @ example.com
  • me @ example..com
  • me.example@com
  • me / @ example.com

De: http://en.wikibooks.org/wiki/JavaScript/Best_Practices


Ahora he cotejado casos de prueba de Cal Henderson, Dave Child, Phil Haack, Doug Lovell y RFC 3696. 164 direcciones de prueba en total .

Ejecuté todas estas pruebas contra todos los validadores que pude encontrar. La comparación está aquí: http://www.dominicsayers.com/isemail

Trataré de mantener esta página actualizada a medida que las personas mejoren sus validadores. Gracias a Cal, Dave y Phil por su ayuda y cooperación en la compilación de estas pruebas y la crítica constructiva de mi propio validador .

La gente debería conocer la errata contra RFC 3696 en particular. Tres de los ejemplos canónicos son, de hecho, direcciones inválidas. Y la longitud máxima de una dirección es de 254 o 256 caracteres, no 320.


La parte de dominio (después del último @) es una serie de etiquetas de cadena divididas por un punto.

Cada etiqueta es una cadena de 1 a 63 octetos que consta de AZ, az 0-9 o guión (-)

El tamaño máximo del dominio es 255 octetos.

Para ser compatible con arpanet, cada etiqueta debe comenzar con una letra y terminar con una letra o un dígito, pero algunos TLD: s ahora permiten un dominio totalmente numérico, como 0.nu

Tenga en cuenta que el TLD puede tener 63 octetos. Muchos scripts lo restringen erróneamente a 2-3 octetos, lo que hace que domain.name no sea válido.

¿Ejemplo?

abcdefghijklmnopqrstuvwxyz.ABCDEFGHIJKLMNOPQRSTUVWXYZ.!#$%&''+-/=.?^`{|}~@ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-0123456789.abcdefghijklmnopqrstu.vwxyzABCDEFGHIJKLMNOP.QRSTUVWXYZ0.1.2.3.4.5.6.7.8.9.az.AZ.0-9 .a0.b1.c2.d3.e4.f5.g6.h7.i8.j9.K0.L1.M2.N3.O.domain.name

(y no, no está registrado)

Actualización: con IDNA casi todo es posible:

Ver también:

https://.com/questions/3232/how-far-should-one-take-e-mail-address-validation

http://www.leshazlewood.com/?p=5

Actualización: Bobince sugirió probar un punto en el nombre de dominio.

Resumen : solo prueba @ y un punto en la parte del dominio y luego envía un correo electrónico de confirmación.

Aquí hay un ejemplo que prueba @ y punto:

  • Debe haber al menos un @
  • Debe haber al menos un carácter en la parte local (pos> 0)
  • Debe haber al menos un punto en la parte de dominio
  • La parte de dominio debe tener al menos 4 caracteres

Aquí hay uno simple:

function isEmail(address) { var pos = address.lastIndexOf("@"); return pos > 0 && (address.lastIndexOf(".") > pos) && (address.length - pos > 4); }

O una función que devuelve la parte local y de dominio en un objeto (si desea procesarlo aún más, por ejemplo conviértalo en punycode)

function isEmail(address) { var pos = address.lastIndexOf("@"); return pos > 0 && (address.lastIndexOf(".") > pos) && (address.length - pos > 4) ? { local:address.substr(0,pos < 0 ? 0 : pos), domain:address.substr(pos+1) }: false; }