Cómo verificar una dirección de correo electrónico usando Node.js
En este artículo, voy a guiarte a través de la mejor manera posible de verificar las direcciones de correo electrónico y mejore el proceso de registro de usuarios para su sitio web Node.
La verificación del correo electrónico es increíblemente importante. Asegurarse de que los usuarios que se registran en su sitio web tengan Una dirección de correo electrónico válida es valiosa por varias razones:
- Puede detectar errores tipográficos del usuario cuando ingresan su dirección de correo electrónico y pedirle al usuario que los corrija antes de permitirles registrarse.
- Le permite mantenerse en contacto con sus usuarios: puede enviarles un correo electrónico cuando caduque su tarjeta de crédito, cuando Les envías recibos cuando tienes nuevas funciones disponibles, etc.
- Garantiza que sus usuarios puedan restablecer su contraseña de forma segura si alguna vez la olvidan: sin un correo electrónico No hay forma de validar la identidad de alguien fuera de la verificación manual y humana.
- Evita que los usuarios se registren en su sitio web con direcciones de correo electrónico desechables, como las de Mailinador. Los usuarios que se inscriban en estos Los servicios generalmente intentan evitar darle su correo electrónico real por una razón específica: tal vez quieres abusar de tus funciones freemium, etc. Al asegurarse de que solo permite a los usuarios con datos personales reales o Direcciones de correo electrónico comerciales para registrarse, reduce el riesgo de abuso de su sitio web.
Sin embargo, donde la verificación de correo electrónico se vuelve compleja es decidir cómo verificar las direcciones de correo electrónico para SU sitio web. Cada sitio web tiene diferentes requisitos y, dependiendo de lo que haga su sitio web, solo puede desea verificar la dirección de correo electrónico de un usuario de una o dos maneras específicas.
Para ayudar a resolver este problema, recientemente lanzamos el verificador de correo electrónico Biblioteca NPM.
Esta biblioteca de nodos le permite verificar fácilmente las direcciones de correo electrónico de varias maneras diferentes y proporciona Verificación flexible (como verás en un momento).
Así que, sin más preámbulos, ¡echemos un vistazo a cómo funciona!
Cree una cuenta Email Verification
Lo primero que debe hacer para verificar las direcciones de correo electrónico utilizando la biblioteca email-verifier es crea una cuenta gratuita para el servicio Email Verification API. Puede hacerlo aquí: https://emailverification.whoisxmlapi.com/signup
Una vez que haya creado su cuenta gratuita, podrá utilizar el servicio API para verificar 1.000 direcciones de correos electrónico de forma gratuita. Si quiere verificar más, siempre puede hacerlo pagando una cantidad muy pequeña.
Instale el paquete
Ahora que su cuenta está configurada, lo siguiente que debe hacer es instalar el paquete Node. Desde la línea de comandos, ejecute el siguiente comando:
$ npm instalar verificador de correo electrónico
Esto descargará e instalará la última versión del verificador de correo electrónico paquete de NPM.
Verifique una dirección de correo electrónico
Ahora que tiene una cuenta y el paquete instalados, echemos un vistazo a algunos códigos que puede ejecutar para verificar una dirección de correo electrónico inmediatamente.
Aquí hay un pequeño script, 'verify.js', que verificará una dirección de correo electrónico utilizando todos los Métodos de verificación:
const Verifier = require("email-verifier");
let verifier = new Verifier("your_email_verification_api_key");
verifier.verify("r@rdegges.com", (err, data) => {
if (err) throw err;
console.log(data);
});
Como puede ver, en realidad sólo hay tres pasos para utilizar la biblioteca:
- Importar la biblioteca.
- Crea un objeto "Verificador" dándole la clave de API que creaste cuando firmaste para el servicio de API.
- Ejecute el método 'verificar', pasando la dirección de correo electrónico que desea verificar y una función de devolución de llamada. Esta función de devolución de llamada es la que se ejecutará cuando se haya completado la verificación.
Los datos que se devuelven en la función callback tendrán este aspecto:
{
"catchAll": "false",
"disposable": "false",
"dns": "OK",
"emailAddress": "r@rdegges.com",
"free": "false",
"mxs": [ "mail.protonmail.ch" ],
"smtp": "OK",
"validFormat": "OK"
}
Cada valor JSON devuelto corresponde a diferentes tipos de verificación:
- La comprobación 'catchAll' le indica si esta dirección de correo electrónico es o no una dirección «catch-all». Se refiere a un tipo especial de dirección que puede recibir correo electrónico para una serie de direcciones. Es habitual en empresas en las que si envía un correo electrónico a test@hi.com y otro a test2@hi.com, ambos correos irán a la misma bandeja de entrada.
- La verificación "desechable" le indica si la dirección de correo electrónico es desechable o no (creada a través de un servicio como Mailinator). Esto le ayuda a comprobar si hay abusos. Este valor será 'false' si el correo electrónico es no desechable, y "verdadero" en caso contrario.
- La verificación 'dns' asegurará que el dominio en la dirección de correo electrónico, por ejemplo: gmail.com, sea un dominio válido. Este valor será 'OK' si el dominio es bueno.
- La opción "gratuita" comprobará si la dirección de correo electrónico es de un proveedor de correo electrónico gratuito como Gmail o no. Este valor será 'false' si la dirección de correo electrónico no es libre, y 'true' en caso contrario.
- La comprobación 'validFormat' le permite saber si hay algún error de sintaxis en la dirección de correo electrónico. Se trata de un
Comprobación básica que se realiza para detectar errores tipográficos simples o errores importantes. Este valor será 'false' si
No hay errores, y es "verdadero" en caso contrario.
En segundo plano, el servicio de API se encarga de todos estos tipos de comprobaciones de verificación de forma cantidad de formas interesantes. Hablaré de esto en un artículo futuro.
Personalización de Email Verification
Como mencioné antes, el ejemplo de código anterior le mostró cómo validar una dirección de correo electrónico con todos los posibles métodos de verificación, pero es posible que esto no sea lo que desee hacer en todos los casos.
La verificación por correo electrónico puede ser lenta. Cada tipo de verificación requiere una pequeña cantidad de tiempo (fracciones de un segundo), pero cuando se realizan todas las comprobaciones, ese tiempo puede acumularse.
Si su sitio web solo necesita verificar una dirección de correo electrónico para asegurarse de que puede recibir correo electrónico, por ejemplo, usted puede decirle al paquete de verificación de correo electrónico que solo realice esa comprobación. La biblioteca de verificación de correo electrónico es completamente Flexible: puede activar o desactivar cualquier tipo de comprobación que desee.
Así es como funciona:
const Verifier = require("email-verifier");
let verifier = new Verifier("your_email_verification_api_key", {
checkCatchAll: false,
checkDisposable: false,
checkFree: false,
validateDNS: false,
validateSMTP: false
});
Al crear el objeto 'Verificador', puede pasar opciones adicionales (como se muestra arriba) que directamente Afectar a los tipos de comprobaciones que se realizan. Siéntase libre de usarlos según sea necesario.
- NOTA: Una vez creado el objeto 'Verifier', en cualquier momento que llame al método 'verify' para verificar una dirección de correo electrónico, las opciones especificadas cuando se creó el 'Verificador' permanecerán en efecto.
Mejorar el flujo de registro de usuarios
Ahora que has visto cómo puedes verificar las direcciones de correo electrónico utilizando la biblioteca de verificación de correo electrónico, es probable que desea modificar el proceso de registro de su sitio web para hacer uso de esto.
La mejor manera de hacer esto es bastante sencilla. Cuando un usuario rellena tu formulario de registro y lo presenta, usted debe:
- Recibir los datos del formulario en su servidor web
- Analizar los datos de registro del usuario, incluida su dirección de correo electrónico
- Verificar inmediatamente la dirección de correo electrónico del usuario utilizando la biblioteca email-verifier
- Mostrar un error al usuario si su correo electrónico no es válido y pedirle que vuelva a intentarlo
- Si todo está bien, crear la nueva cuenta del usuario e iniciar su sesión
Al seguir estos pasos, mejorará en gran medida el flujo de registro de su sitio web al captar errores tipográficos en usuarios y errores en los primeros compases del proceso de registro antes de que sea demasiado tarde para corregirlos.
Resumen
En resumen: verificar las direcciones de correo electrónico de sus usuarios puede ser una forma sencilla de mejorar la experiencia de usuario de su sitio web.
Si necesita verificar una dirección de correo electrónico, el nuevo email-verifier es la herramienta perfecta, ya que gestiona muchos tipos diferentes de validación y es extremadamente flexible.
Si tiene alguna pregunta, envíenos un correo electrónico.