Node.js | Bibliotecas para desarrolladores | Email Verification API | WhoisXML API

Biblioteca cliente Email Verification de Node.js Biblioteca cliente Email Verification de Node.js

Cómo verificar una dirección de correo electrónico usando Node.js

En este artículo, voy a mostrarle la mejor manera posible de verificar direcciones de correo electrónico y mejorar el proceso de registro de usuarios para su sitio web Node.

La verificación de correos electrónicos 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 valioso por varias razones:

  • Puede detectar errores tipográficos de los usuarios cuando ingresan su dirección de correo electrónico y pedirles que los corrijan antes de permitirles completar el registro.
  • Le permite mantenerse en contacto con sus usuarios: puede enviarles un correo electrónico cuando caduque su tarjeta de crédito, para facturas, avisarle de 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 más allá 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 registran en estos servicios, generalmente intentan evitar darle su correo electrónico real por una razón específica: tal vez quieren abusar de sus funciones freemium, etc. Al permitir el registro solo usuarios con direcciones personales o comerciales reales, reduce el riesgo de que haya abusos 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 la biblioteca NPM email-verifier.

Esta biblioteca Node le permite verificar fácilmente las direcciones de correo electrónico de varias maneras diferentes y proporciona verificación flexible (como verá enseguida).

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 install email-verifier
            
            

Esto descargará e instalará la última versión del paquete email-verifier de NPM.

Verifique una dirección de correo electrónico

Ahora que tiene una cuenta y el paquete instalado, 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("[email protected]", (err, data) => {
    if (err) throw err;
    console.log(data);
});
            
            

Como puede ver, en realidad solo hay tres pasos para utilizar la biblioteca:

  • Importar la biblioteca.
  • Crea un objeto 'Verifier' al darle la clave API que creó al registarse para el servicio.
  • Ejecute el método 'verify' al pasar 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": "[email protected]",
    "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 [email protected] y otro a [email protected], ambos correos irán a la misma bandeja de entrada.
  • La verificación 'disposable' 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 'true' 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 'free' 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 gratis, 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 'verdadero' en caso contrario.
    En segundo plano, el servicio de la API se encarga de todos estos tipos de comprobaciones de verificación de varias formas interesantes. Hablaré de esto en un artículo futuro.

Personalización de Email Verification

Como mencioné antes, el ejemplo de código de arriba muestra cómo validar una dirección de correo electrónico con todos los posibles métodos de verificación, pero puede ser 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 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, puede decirle al paquete email-verifier que solo realice esa comprobación. La biblioteca email-verifier 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 'Verifier', puede sumar opciones adicionales (como se muestra arriba) que directamente afectan a los tipos de comprobaciones que se realizan. Haga uso según le convenga.

  • NOTA: Una vez creado el objeto 'Verifier', siempre que use el método 'verify' para verificar una dirección de correo electrónico, las opciones especificadas cuando se creó el 'Verifier' permanecerán en uso.

Mejorar el flujo de registro de usuarios

Ahora que ha visto cómo puede verificar direcciones de correo electrónico utilizando la biblioteca email-verifier, es probable que desee modificar el proceso de registro de su sitio web para ponerlo en uso.

La mejor manera de hacer esto es bastante sencilla. Cuando un usuario rellene su formulario de registro y lo presente, 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.