Si tienes una empresa, una agencia o un sitio web impulsado por la comunidad, deseas que las personas puedan comunicarse contigo ya sea para fomentar nuevos clientes potenciales, responder a consultas de servicio al cliente o fomentar una relación con los miembros de tu comunidad.
Pero no a costa de recibir spam.
Recibir correos electrónicos no deseados es, en el mejor de los casos, una molestia y una pérdida de tiempo y, en algunos casos, pueden contener contenido malicioso, como estafas de phishing o malware.
Los correos electrónicos no deseados obstruyen tu bandeja de entrada, lo que hace que sea más difícil encontrar mensajes importantes e incluso pueden afectar negativamente la capacidad de entrega de tu correo electrónico, lo que hace que los mensajes legítimos se filtren en la carpeta de correo no deseado.
En este artículo, veremos métodos que se pueden utilizar para compartir una dirección de correo electrónico en un sitio web, de forma segura.
¿Cómo descubren los bots mi dirección de correo electrónico?
Los programas automatizados, conocidos como raspadores de correo electrónico, buscan en la web direcciones de correo electrónico para agregarlas a sus listas de direcciones a las que enviar mensajes de spam.
Aquí hay una mirada más profunda a cómo sucede esto:
Direcciones de correo electrónico en texto sin formato
Cuando una dirección de correo electrónico se publica en un sitio web en texto sin formato, es extremadamente fácil para los robots de raspado de correo electrónico descubrirla y recopilarla. Estos robots están programados para buscar cadenas de texto que coincidan con el formato común de una dirección de correo electrónico (por ejemplo, ejemplo@ejemplo.com ).
Código fuente HTML
Incluso si una dirección de correo electrónico está ofuscada en la página visible, si está presente en el código fuente HTML en un formato reconocible, los robots aún pueden encontrarla escaneando el código.
Hipervínculos “mailto” vinculados
Algunos sitios web utilizan hipervínculos «mailto» para permitir a los visitantes hacer clic en una dirección de correo electrónico y abrir su cliente de correo electrónico para enviar un mensaje. Los bots pueden seguir fácilmente estos enlaces y extraer las direcciones de correo electrónico a las que apuntan.
Datos del formulario
Si un sitio web tiene un formulario de contacto que envía datos a una dirección de correo electrónico, los robots podrían descubrir la dirección de correo electrónico analizando el código del formulario o interceptando los envíos de formularios si el sitio web no está protegido adecuadamente.
Trucos de texto oculto o CSS
Algunos webmasters utilizan trucos de CSS para ocultar las direcciones de correo electrónico o disfrazarlas dentro de la página. Sin embargo, bots más sofisticados pueden analizar el estilo y las secuencias de comandos de la página para descubrir direcciones de correo electrónico ocultas o disfrazadas.
Metadatos y encabezados
A veces, las direcciones de correo electrónico se pueden encontrar en los metadatos de un sitio web o en los encabezados HTTP, que los robots pueden examinar.
Herramientas y complementos de terceros
Algunas herramientas o complementos de terceros utilizados en sitios web pueden exponer direcciones de correo electrónico a bots, ya sea por un diseño deficiente o por intenciones maliciosas.
Al mantener tu dirección de correo electrónico oculta o cifrada, puedes reducir el riesgo de que los rastreadores de correo electrónico la encuentren y la agreguen a sus listas.
¿Qué puedo hacer para prevenir el spam en el correo electrónico?
Utiliza un formulario de contacto
Un formulario de contacto es un formulario basado en la web que los visitantes pueden completar para enviarle un mensaje.
El formulario normalmente incluirá campos para el nombre, la dirección de correo electrónico y el mensaje del visitante, y utilizará PHP u otro lenguaje de programación para enviar el mensaje a su dirección de correo electrónico.
Al utilizar un formulario de contacto, puedes evitar mostrar tu dirección de correo electrónico directamente en tu sitio web y reducir el riesgo de recibir mensajes de spam.
Puedes hacer que el formulario sea aún más seguro agregando un CAPTCHA.
Un CAPTCHA (prueba de Turing pública completamente automatizada para distinguir entre computadoras y humanos) es una característica de seguridad diseñada para distinguir a los usuarios humanos de los scripts o bots automatizados.
Funciona presentando un desafío al usuario que es fácil de resolver para un humano pero difícil para una computadora. Por ejemplo, un CAPTCHA puede presentar una imagen distorsionada de letras y números y pedirle al usuario que ingrese los caracteres que ve. Los caracteres de la imagen están seleccionados y distorsionados de una manera que dificulta que los programas automatizados los reconozcan, pero que son fáciles de leer para un humano.
Una vez que el usuario ingresa la solución correcta al desafío CAPTCHA, el sitio web puede estar seguro de que la solicitud proviene de un humano. Esto ayuda a prevenir el spam, la actividad fraudulenta y otros comportamientos maliciosos que podrían llevar a cabo programas automatizados.
Utiliza un enlace de correo con cifrado
Un enlace de correo es un hipervínculo que abre el cliente de correo electrónico del visitante y completa automáticamente el campo «Para» con su dirección de correo electrónico.
Para proteger su dirección de correo electrónico para que no sea recopilada por raspadores de correo electrónico, puedes cifrar el enlace utilizando JavaScript u otro método.
Puedes crear una imagen de tu dirección de correo electrónico y mostrarla en tu sitio web en lugar de mostrar texto.
Los visitantes tendrán que escribir manualmente la dirección de correo electrónico en su cliente de correo electrónico, lo que dificulta que los programas automatizados la copien.
Sin embargo, este método es menos fácil de usar para los visitantes, ya que deben transcribir la dirección de correo electrónico y puede provocar errores tipográficos y errores. También es una mala práctica en términos de accesibilidad.
El enfoque de ofuscación de HTML para proteger su dirección de correo electrónico
Ocultar una dirección de correo electrónico en HTML es un enfoque común utilizado para proteger las direcciones de correo electrónico de los bots.
La idea básica es codificar la dirección de correo electrónico en HTML para que aparezca como texto sin formato para los humanos, pero no para los robots que escanean el código fuente HTML.
Enfoque CSS
Podemos utilizar las capacidades de estilo de CSS para ocultar cierto contenido cuyo único objetivo es engañar a los robots de spam. Considera este escenario, donde tenemos contenido similar al anterior, pero ahora encerrado en un elemento span:
<p>Para contactar, envie un correo electrónico a email@address.com. <span class="block-bots" aria-hidden="true">¡FUERA DE AQUI BOTS!</span></p>
Luego aplicamos la siguiente regla CSS:
span.block-bots
{
display: none;
}
Así, el usuario final verá:
—
Para contactar, envíe un correo electrónico a email@address.com.
—
Codificación con entidades
Las entidades HTML son caracteres especiales que se utilizan para representar caracteres que no se pueden ingresar fácilmente con un teclado, como el símbolo @.
Para ofuscar una dirección de correo electrónico, puedes codificar los caracteres de la dirección de correo electrónico como entidades.
Por ejemplo, el símbolo ‘@’ se puede representar como ‘@’ y el ‘.’ El símbolo se puede representar como ‘.’.
Ocultar la dirección de correo electrónico en comentarios HTML
Otra forma de ofuscar una dirección de correo electrónico es ocultarla dentro de los comentarios HTML. Los navegadores ignoran los comentarios HTML cuando muestran una página web, pero los robots que rastrean sitios web en busca de direcciones de correo electrónico seguirán intentando extraer el contenido de los comentarios.
Para ofuscar una dirección de correo electrónico, puedes agregar la dirección de correo electrónico dentro de un comentario HTML, lo que dificulta que los robots la extraigan. Por ejemplo:
ejemplo <-- HTML comentario --> @ <-- HTML comentario --> dominio.com
Los bots/scrapers generalmente rasparán el HTML e incluirán los comentarios como parte de la dirección de correo electrónico, por lo que intente enviar un correo electrónico con “ejemplo<– comentario HTML –>@ <–comentario HTML–>dominio.com” en lugar de simplemente “ejemplo@dominio”. com” que, por supuesto, no llegará a tu buzón de correo.
Sin embargo, como los comentarios HTML no se muestran en la salida del navegador, la dirección de correo electrónico aparecerá para los visitantes genuinos como ejemplo@dominio.com.
Codificación JavaScript
También puedes codificar la dirección de correo electrónico usando JavaScript y mostrarla en la página web usando código JavaScript.
Esto dificulta que los bots extraigan la dirección de correo electrónico, ya que la dirección de correo electrónico se almacena en el código JavaScript y no en el código fuente HTML.
Primero, crea un elemento de enlace HTML con la dirección de correo electrónico como valor del atributo href. Por ejemplo:
<a href="mailto:ejemplo@ejemplo.com">Contacto</a>
A continuación, agrega una ID al elemento de enlace para que podamos orientarlo mediante JavaScript. Por ejemplo:
<a href="mailto:ejemplo@ejemplo.com" id="contact-link">Contacto</a>
En JavaScript, podemos crear una función que reemplace la dirección de correo electrónico con una versión ofuscada de la misma. Esta función se puede activar cuando se hace clic en el enlace. He aquí un ejemplo:
function obfuscateEmail() {
var link = document.getElementById("contact-link");
var email = link.href.replace("mailto:", "");
var obfuscated = "";
for (var i = 0; i < email.length; i++) {
obfuscated += "&#" + email.charCodeAt(i) + ";";
}
link.href = "mailto:" + obfuscated;
}
Esta función recupera la dirección de correo electrónico del atributo href del enlace, elimina el prefijo «mailto:» y luego ofusca cada carácter de la dirección de correo electrónico utilizando entidades HTML.
Luego, la dirección de correo electrónico ofuscada se establece como el valor del atributo href.
Finalmente, necesitamos agregar un detector de eventos al elemento de enlace que activa la función ofuscateEmail() cuando se hace clic en el enlace. He aquí un ejemplo:
var link = document.getElementById("contact-link");
link.addEventListener("click", obfuscateEmail);
Con este código implementado, la dirección de correo electrónico en la página de contacto se ofuscará cuando se haga clic en el enlace, lo que dificultará que los robots extraigan la dirección y envíen correos electrónicos no deseados.
Combinando múltiples técnicas
Para obtener aún más protección, puedes combinar múltiples técnicas de ofuscación, como codificar la dirección de correo electrónico con entidades y ocultarla dentro de los comentarios HTML, o codificarla con JavaScript y también codificar los caracteres como entidades.
Es importante tener en cuenta que, si bien estos métodos pueden dificultar que los robots obtengan su dirección de correo electrónico, no son infalibles.
Los robots avanzados pueden eludir estos métodos, por lo que siempre es mejor utilizar varios métodos de protección y revisar periódicamente tu bandeja de entrada en busca de mensajes no deseados.