Product

Comprender la validación de direcciones de email con servicios externos

Descubre cómo validar direcciones de email individuales y para envíos masivos con la API de validación de emails de Mailgun, y cómo esto puede ayudarte a mejorar tu entrega de emails y tu reputación como remitente.
Imagen para Comprender la validación de direcciones de email con servicios externos

Rebote.

No es algo que quieras oír al enviar tu campaña de email.

Has analizado el mercado, has creado una plantilla de email responsive en HTML, has redactado un texto brillante y has añadido gráficos atractivos. Tu campaña de email marketing está destinada al éxito, ¿verdad?

Todo depende de tu entregabilidad del email y tu tasa de entrega de emails. La entregabilidad describe qué proporción de tus emails acaba en la carpeta de spam de los destinatarios en lugar de en su bandeja de entrada. Pero tu tasa de entrega representa cuántos de tus emails se llegan a entregar.

Puedes resolver el problema de la tasa de entrega de varias maneras, como implementar reglas de validación con expresiones regulares (regex) y otras validaciones personalizadas al recopilar direcciones de email para las campañas. Pero, al fin y al cabo, estas opciones tienen sus limitaciones. No te preocupes: Mailgun te cubre las espaldas con nuestra API de validación de emails.

En este artículo, repasaremos tres formas de realizar validaciones de emails en Mailgun. A continuación, explicaremos cómo integrar la API de Mailgun con un cliente externo, como Salesforce, para que puedas utilizar nuestra API de validación de emails y potenciar tus esfuerzos de marketing digital en otras plataformas.

¿Qué es la validación de direcciones de email y por qué es importante?

La validación de direcciones de email, también llamada verificación, es un proceso que comprueba si una dirección de email es entregable; o, dicho de forma sencilla, si es una dirección de email válida.

Por ejemplo, gran parte de tu base de usuarios puede cometer errores ortográficos o de formato al escribir sus emails, especialmente si introducen la información desde dispositivos móviles con pantallas pequeñas. La validación de emails detecta estos errores sintácticos o tipográficos y evalúa si los datos incorrectos son un error inocente, un desvío intencionado o una posible amenaza de ciberseguridad.

La validación de direcciones de email es importante porque permite lo siguiente:

  • Aumentar la tasa de entrega: reduce tu tasa de rebote verificando las direcciones de email y descartando las direcciones no válidas a las que los servidores de email no pueden llegar.
  • Limpiar y organizar tu lista de correo: mantén tu lista de correo actualizada y organizada eliminando las direcciones de email inexistentes o no válidas.
  • Impulsar una mayor tasa de conversión: como centras tus energías en los emails que han sido validados, no desperdicias mensajes en direcciones de email no válidas. Esto te permite dirigirte a destinatarios de email activos y lograr una mayor tasa de conversión.
  • Proteger tu reputación como remitente: tu Dirección IP y la reputación del dominio son las métricas del cliente de email que se utilizan para determinar si se entregan o no tus mensajes. También influyen en si tus emails acaban en la bandeja de entrada de los destinatarios o en la carpeta de spam. Mantén una buena reputación como remitente dirigiéndote a direcciones de email con usuarios válidos.

¿Qué es la API de validación de emails de Mailgun?

¿Por qué dejar al azar el éxito de tu campaña de email cuando puedes validar las direcciones de email fácilmente?

En Mailgun, ofrecemos una servicio de verificación de emails totalmente integrada en nuestra gama de funciones y servicios de entregabilidad del email. No tendrás que estar cambiando entre diferentes plataformas y fuentes de datos para comprobar si tus campañas de email van a rebotar.

Nuestra API de validación de emails que se puede consultar en el siguiente punto de conexión: https://api.mailgun.net/v4/address/validate. La API inspecciona mediante programación varios aspectos de una dirección de email para comprobar lo siguiente:

  • La sintaxis de la dirección de email sea correcta.
  • El dominio esté configurado para recibir emails.
  • La dirección de email exista.
  • La dirección no tenga ningún evento de rebote ya registrado en la red de Mailgun.
  • La dirección de email no sea una dirección de alto riesgo.
  • La dirección de email no sea una dirección de email basada en un rol como info@mailgun.com o admin@mailgun.com.
  • La dirección de email no es desechable.
  • La dirección de email no contiene ningún error tipográfico en el dominio.
  • La dirección de email no pertenece a un dominio “catch-all” (atrapa todo).
    • Si el dominio es “catch-all”, la marcaremos como entregable si hay interacción en la dirección.

Sabemos lo importante que es para ti mantener una lista de direcciones de email verificadas y entregables para reducir el porcentaje de emails rebotados que puedan perjudicar tu reputación como remitente.

¿Cuáles son las tres formas de usar Mailgun para validar direcciones de email?

Mailgun ofrece la verificación de direcciones de email de tres formas:

  • Verificar las direcciones de email de una lista de correo
  • Verificar una única dirección de email
  • Verificar las direcciones de email proporcionadas de forma masiva a través de un CSV

Si no tienes todo listo para zambullirte en el código, echa un vistazo a la función de listas de correo de nuestra plataforma, como se muestra a continuación. Puedes verificar a los miembros de una lista de correo con solo hacer clic en un botón de tu panel de control. Recuerda que solo puedes tener un máximo de 2,5 millones de miembros en tu lista de correo.

The Mailing List feature on the Mailgun app

Si te animas con la programación, a continuación explicamos cómo realizar una única verificación de email o una verificación masiva a través de nuestra API.

Antes de empezar…

Antes de sumergirte en los tutoriales, asegúrate de haberte registrado en Mailgun si aún no lo has hecho. Una vez que tengas una cuenta, ve al panel de control, haz clic en la pestaña API Security y copia tu Private API Key, como se muestra a continuación. La necesitarás para la autenticación.

Private API key on Mailgun dashboard

Los siguientes tutoriales utilizarán nuestra API de Mailgun, por lo que es muy recomendable estar familiarizado con las API RESTful, curl y JSON, aunque no es obligatorio.

¿Cómo uso la API de validación de emails de Mailgun para validar una única dirección de email?

Empecemos por el caso de uso más básico: verificar una dirección de email. Podemos realizar una solicitud GET a la API de validación de emails de la siguiente manera:

                                

                                    curl --user 'api:PRIVATE_API_KEY' -G 
n    https://api.mailgun.net/v4/address/validate 
n    --data-urlencode address='foo@mailgun.net'
                                
                            

Recuerda proporcionar tu Private API Key en lugar de la PRIVATE_API_KEY del ejemplo anterior. Además, puedes indicar la dirección de email que estás verificando como parámetro de la dirección.

Si has escrito la consulta correctamente, deberías obtener la siguiente respuesta:

                                

                                    {rn    "address": "foo@mailgun.net",rn    "is_disposable_address": false,rn    "is_role_address": false,rn    "reason": [],rn    "result": "deliverable",rn    "risk": "low"rnrn}
                                
                            

Las dos partes más importantes de esta respuesta son los parámetros result y risk.

El parámetro result es nuestra evaluación principal de la dirección de email que has enviado para su verificación. Puede contener los siguientes valores:

  • deliverable: la dirección de destino es válida y debería aceptar tus emails.
  • undeliverable: la dirección de destino no es válida y provocará un rebote si envías un mensaje.
  • do_not_send: la dirección de destino es de alto riesgo y afectará negativamente a tu reputación como remitente si envías un mensaje a esta dirección.
  • catch_all: no se puede determinar la validez de la dirección de destino, ya que el proveedor de servicios de envío de emails (ESP, por sus siglas en inglés) acepta todos los emails, independientemente de si existe o no el buzón.
  • unknown: la validez de la dirección de destino no se puede determinar por varios motivos posibles. Consulta la matriz de motivos asociada que se devuelve en la respuesta.

El parámetro risk es nuestra evaluación de cómo enviar mensajes a una dirección concreta puede afectar a tu reputación como remitente. Este parámetro puede contener los siguientes valores:

  • low: es probable que la dirección de email sea legítima, y enviar un email a esta dirección tiene una baja probabilidad de perjudicar tu reputación como remitente si la dirección se ha obtenido de forma legítima. 
  • medium: este es nuestro estado predeterminado o neutral para calcular el riesgo. Una dirección de email que no se considere de riesgo bajo o alto pasará a tener un riesgo medio por defecto.
  • high: una dirección de email que tiene un alto riesgo de perjudicar tu reputación como remitente o cuando se utiliza para la verificación en tu plataforma. Debes examinar esta dirección de email para cuestionar su validez.

A continuación, ofrecemos una breve explicación de los demás parámetros del cuerpo de la respuesta:

  • address: devuelve la dirección de email que se está verificando.
  • is_disposable_address: esta clave devuelve el valor “true” o “false” según si el email verificado es o no una dirección de email desechable.
  • is_role_address: devuelve el valor “true” o “false” en función de si la dirección de email verificada es o no una dirección de rol.
  • reason: esta matriz proporciona información adicional si no podemos verificar correctamente una dirección de email, como mailbox_does_not_exist o high_risk_domain. Si el valor de risk es medium o high, esta matriz proporcionará una explicación.

Y esto es todo para realizar una validación de direcciones de email básica. Ten en cuenta que también puedes realizar una única verificación de email mediante una solicitud POST. Echa un vistazo a nuestras documentación de la API para obtener más detalles.

¿Cómo uso la API de validación de emails de Mailgun para validar direcciones de email de forma masiva?

Pero, ¿qué pasa si tienes cientos (¡o miles!) de direcciones de email que verificar? Enviarlas de una en una es un uso ineficiente de tu tiempo y tus recursos informáticos.

La verificación masiva te permite verificar una lista de direcciones de email. Una vez que se hayan completado todas las verificaciones, puedes acceder a los resultados a través de un enlace de download_url. Ten en cuenta que debes proporcionar tu lista de direcciones de email como un archivo CSV o GZIP sin procesar. También debes cargar tu archivo como multi-part/form-data, en donde el archivo está definido por file

A continuación, veamos dos solicitudes de la API para gestionar tus verificaciones masivas:

  • Crear un trabajo de verificación masiva
  • Obtener el estado de un trabajo de verificación masiva

¿Cómo creo un trabajo de verificación masiva de emails?

Una vez que hayas preparado y subido tu lista de direcciones de email de acuerdo con las especificaciones anteriores, crear un trabajo de verificación masiva de emails es fácil. Utilizaremos una solicitud POST a nuestra API de validación de emails, tal y como se muestra a continuación:

Recuerda sustituir YOUR_API_KEY por tu Private API Key, dar un nombre a tu lista para LIST_NAME e insertar la ruta de tu archivo en file.

Deberías recibir la siguiente respuesta:

                                

                                    {rn "id":"myemails"rn "message": "The validation job was submitted."rn}
                                
                            

Recibirás un message confirmando que el trabajo se ha enviado correctamente. El id es el nombre de la lista que proporcionaste.

¿Cómo compruebo el estado de un trabajo de verificación masiva?

Te prometemos que las verificaciones masivas no tardarán mucho (piensa en minutos, no en horas). Podemos hacerlo porque nuestra herramienta de verificación de emails utiliza nuestra caché de miles de millones de direcciones de email como fuente principal para permitir una verificación rapidísima. Pero, por si necesitas comprobar el estado de tu trabajo de verificación masiva, puedes utilizar la siguiente solicitud GET:

                                

                                    curl -s --user 'api:YOUR_API_KEY' -G 
n    https://api.mailgun.net/v4/address/validate/bulk/LIST_NAME
                                
                            

Recuerda sustituir YOUR_API_KEY por tu Private API Key y darle un nombre a tu lista en LIST_NAME. Esta es una respuesta de muestra a tu solicitud:

                                

                                    {rn  "created_at": "Tue, 26 Feb 2021 21:30:03 GMT",rn  "download_url": {rn    "csv": "<download_link>",rn    "json": "<download_link>"rn  },rn  "id": "bulk_validations_sandbox_mailgun_org",rn  "quantity": 207665,rn  "records_processed": 207665,rn  "status": "uploaded",rn  "summary": {rn    "result": {rn      "deliverable": 181854,rn      "do_not_send": 5647,rn      "undeliverable": 12116,rn      "catch_all" : 2345,rn      "unknown": 5613rn    },rn    "risk": {rn      "high": 17763,rn      "low": 142547,rn      "medium": 41652,rn      "unknown": 5613rn    }rn  }rn}
                                
                            

Puedes ver un resumen de las verificaciones de emails, incluidos los desgloses de result y risk. También puedes ver el estado del trabajo, que es el estado actual de la solicitud de verificación de la lista, como created, processing, completed, uploading, uploaded y failed.

Una vez que tu trabajo de verificación masiva se haya cargado con éxito, puedes utilizar los enlaces de download_url para acceder a los detalles sobre cada dirección de email de tu lista.

Y así de fácil: ya has verificado tus emails y tienes todo a punto para enviar tu campaña de email.

¿Cómo uso la API de validación de emails de Mailgun con los servicios externos de Salesforce?

Veamos cómo un administrador de Salesforce puede configurar Salesforce para usarlo con la API de validación de emails de Mailgun. Para ello, utilizaremos External Services (Servicios externos), que es una forma de conectar Salesforce a API externas sin necesidad de usar código. A continuación, ejecutaremos una validación de emails desde Salesforce. Lo haremos con los siguientes pasos:

  1. Crear una credencial con nombre para la API de Mailgun en Salesforce.
  2. Configurar External Services en la plataforma de Salesforce.
  3. Crear un Screen Flow (flujo de pantalla) para usar la API de validación de emails de Mailgun en Salesforce.
  4. Ejecutar una validación de emails desde Salesforce.

Repasemos estos pasos con más detalle. Ten en cuenta que necesitarás una cuenta de Mailgun con un plan que incluya la función de validación de emails de Mailgun Optimize.

1. ¿Cómo creo una credencial con nombre?

Empezaremos creando una credencial con nombre. Para ello:

1. En la plataforma de Salesforce, ve a Setup > Named Credentials.

2. Haz clic en el botón New para crear una credencial con nombre.

3. Especifica los siguientes valores:

  • Label = Mailgun Email Address Verifications
  • Name = Mailgun_Email_Verification_API
  • Certificate = déjalo en blanco
  • Identity Type = Named Principal
  • Authentication Protocol = Password Authentication
  • Username = api
  • Password = tu clave de API privada de tu cuenta de Mailgun.
  • Generate Authorization Header = true

4. Haz clic en Save.

2. ¿Cómo registro un servicio externo?

Ahora, utilicemos External Services (Servicios externos) en la plataforma de Salesforce para integrar la API de Mailgun. Lo haremos con los siguientes pasos:

1. En Salesforce, ve a Setup > External Services.

2. Selecciona New External Service.

3. Selecciona From API Specification y haz clic en Next

Selecting an API source window

4. Especifica estos valores para los siguientes campos:

  • External Service Name = MailgunEmailVerificationsExternalService 
  • Select a Named Credential = el nombre de la credencial con nombre que creaste anteriormente (Mailgun Email Address Verifications en este ejemplo)
  • Description = servicio de verificación de direcciones de email de Mailgun
  • Cambia el botón de opción a “Service Schema Complete JSON” e introduce el siguiente esquema Swagger:
                                

                                    {rnrn    "swagger": "2.0",rnrn    "info": {rnrn        "description": "Mailgun Email Address Validation API",rnrn        "version": "4.0",rnrn        "title": "Mailgun Email Address Validation API"rnrn    },rnrn    "host": "api.mailgun.net",rnrn    "schemes": [rnrn        "https"rnrn    ],rnrn    "paths": {rnrn        "/v4/address/validate": {rnrn            "get": {rnrn                "summary": "Validate an Email Address",rnrn                "produces": [rnrn                    "application/json"rnrn                ],rnrn                "parameters": [rnrn                    {rnrn                        "in": "query",rnrn                        "name": "address",rnrn                        "description": "Email Address to be Verified",rnrn                        "required": true,rnrn                        "type": "string"rnrn                    }rnrn                ],rnrn                "responses": {rnrn                    "200": {rnrn                        "description": "Result of the Email Address Validation",rnrn                        "schema": {rnrn                            "$ref": "#/definitions/validationResponse"rnrn                        }rnrn                    }rnrn                }rnrn            }rnrn        }rnrn    },rnrn    "definitions" : {rnrn        "validationResponse" : {rnrn            "properties": {rnrn                "result": {rnrn                    "description": "result",rnrn                    "type": "string"rnrn                }rnrn            }rnrn        }rnrn    }rnrn}
                                
                            

Tu servicio externo debería ser parecido a este:

Configure external service window

5. Selecciona la operación getv4AddressValidate y haz clic en Next.

Asistente de Agregar un servicio externo mostrando el paso de Seleccionar operaciones con getV4AddressValidate seleccionado

6. Haz clic en Done.

3. ¿Cómo creo un flujo para usar el servicio externo?

Ahora que hemos potenciado Salesforce con Mailgun, vamos a crear un Screen Flow para usar la API de validación de emails de Mailgun en Salesforce.

1. En Setup de Salesforce, ve a Flows > New Flow.

2. Selecciona Screen Flow y haz clic en Create.

3. El flujo estará formado por tres simples elementos: un elemento de pantalla (screen), un elemento de acción (action) y otro elemento de pantalla.

4. Añade el primer elemento de pantalla:

Screen flow add elements window

El nombre del elemento puede ser Email Address Entry (Entrada de dirección de email) y este elemento solo tendrá un campo de tipo Text (Texto). Llama a este campo “Email Address”, como se muestra a continuación.

Interfaz del creador de Nueva pantalla mostrando un campo de entrada de dirección de email configurándose con las propiedades a la derecha

5. Añade un elemento de acción debajo del elemento de pantalla. En el flujo, crea un nuevo recurso haciendo clic en el botón New Resource. Añade los valores de estos campos al nuevo recurso y guárdalo:

  • Resource Type = Variable
  • API Name = Mailgun External Service
  • Data Type = Apex-Defined
  • Apex Class = ExternalService__MailgunEmailVerificationsExternalService_validationResponse (o el nombre que le hayas dado a tu servicio externo en el paso 3 anterior)
  • Available for input (Disponible para entrada) y available for output (disponible para salida) deben establecerse en True

6. Añade un elemento de acción al flujo donde el valor Type sea External Service. El campo Action debe ser tu servicio externo, y los valores de entrada solo tienen que ser Email Address (Dirección de email) del primer elemento de pantalla que creamos arriba. Asegúrate de seleccionar Advanced > outputs e introduce la variable definida en Apex que creaste arriba llamada MailgunExternalServices. Tu elemento de acción debería tener este aspecto:

New Action window

7. Ahora añade tu último elemento de pantalla. Este solo tendrá un campo de tipo Display Text, y mostrará el resultado de la acción de la llamada al servicio externo mencionada anteriormente.  La pantalla debería tener el siguiente aspecto (ten en cuenta que el valor de salida {!MailgunExternalService.result} se puede encontrar encima del texto visualizado haciendo clic en Insert a Resource y seleccionando a continuación la salida de la variable de tu servicio externo, como se muestra más abajo:

New screen label window

¡Y esto es todo! Ahora veámoslo en acción.

4. ¿Cómo ejecuto una verificación de emails desde Salesforce?

Has integrado correctamente la API de Mailgun en tu organización de Salesforce. Veamos cómo funciona.

Para probar el flujo que creaste anteriormente:

  1. Haz clic en el botón Run en el flujo.
  2. A continuación, haz clic en Enter any email address.
  3. Introduce una dirección de email.
  4. Haz clic en Next.

Deberías obtener un resultado de la API de Mailgun que indique si la dirección de email que has introducido es entregable o no entregable. ¿Quieres más información? Mira este vídeo para ver el funcionamiento de este flujo en uso.

En resumen

Hemos repasado algunos métodos para verificar tus direcciones de email con nuestra interfaz de usuario y nuestra API de validación de emails de Mailgun. También te hemos dado consejos para integrar nuestra API con clientes externos como Salesforce.

Ahora, deberías estar en buen camino para comprobar la validez de las direcciones de email en tiempo real y empezar a enviar. ¿Aún tienes preguntas? ¡No dudes en contactarnos!