2009-10-06 33 views
10

Mi aplicación web envía correos electrónicos a los usuarios. El correo electrónico contiene un enlace para una mayor acción del usuario. Nuestros estándares de seguridad requieren que no se pueda hacer clic en el enlace del correo electrónico. Sin embargo, los clientes de correo electrónico reconocen https: // en el correo electrónico y vinculan automáticamente la URL.Detener hipervínculo automático en Outlook, Gmail, etc.

Cualquier idea sobre cómo detener a los clientes de correo electrónico para que se vinculen automáticamente. Estoy pensando que si omito el https: //, puede detener el enlace automático. Pero, si tengo que mantener el https: //, ¿hay alguna forma de evitar el autoenlace?

El enlace en el correo electrónico se construye dinámicamente en el código C#.

+3

Eso es un estándar de seguridad realmente ridículo. El riesgo de hacer clic en un enlace en el correo electrónico es exactamente lo mismo que copiar y pegar un enlace de un correo electrónico a un navegador. Esto es seguridad por inconveniencia, que no es seguridad en absoluto. – abelenky

+2

@abelenky No. Puede hacer clic accidentalmente en un enlace. No puede copiar y pegar accidentalmente un enlace de un correo electrónico a un navegador y presionar enter. – djechlin

Respuesta

1

Reemplace el texto real con una pequeña imagen GIF que se parece al texto.

Los analizadores de correo electrónico no reconocerán el texto dentro de una imagen.

+1

+1, aunque la mayoría de los clientes de correo electrónico hoy en día no permiten la visualización de imágenes dentro de los correos electrónicos a menos que el usuario lo permita específicamente. –

1

Mi aplicación tiene un requisito de seguridad similar. La solución que usamos fue agregar un guión bajo al comienzo de la URL (_http: //).

1

Haciendo una necropsia a la pregunta, lo sé, pero es relevante ... Me gustaría presentar un escenario razonable donde el autovínculo de Gmail (al menos, no ha probado otros clientes) no tiene sentido.

Un cliente tiene un formulario de solicitud en su sitio, donde los visitantes completan algunos datos personales y los envían. El sistema luego envía un correo electrónico de notificación al cliente, presentando la información que el visitante suministró.

Quiero mejorar el correo electrónico enviado al cliente agregando un campo de texto <> en la parte inferior, con los campos que rellenó el visitante en formato CSV para que el cliente simplemente copie todo y lo pegue en una hoja de cálculo.

Gmail, sin embargo, no reconoce que las direcciones URL y direcciones de correo electrónico están dentro de una etiqueta < textarea>, y "amablemente", añade el < a href = "..."> ... </a> código de enlace alrededor de la URL/correo electrónico - dentro de < textarea>. Esto da como resultado que el código de enlace HTML sin procesar aparezca en el área de texto <>.

17

Sé que este hilo es viejo, pero acabo de tener este problema yo mismo, y no me emocionó la corrección de imagen gif. Si está trabajando con correos electrónicos HTML, una solución un poco más agradable es dividir el texto del enlace con una etiqueta que no reproduce y que engaña al analizador. Soy un fan de un simple inexistente <z>:

 
    https<z>://securesite.</z>com 

Incluso funciona en los puestos de desbordamiento de pila: https://securesite.com.

Espero que esto ayude a alguien.

4

Basta con crear una llanura <span> etiqueta alrededor de los dos puntos (<span>:</span>) o algo así :)

1

Lo sentimos sacar a relucir una vieja pregunta, pero he intentado la respuesta sugerida por pieman72, y encontró que didn' t trabajo dentro de Outlooks 2007-2013.Sin embargo, envolviendo los elementos individuales de la URL dentro de las células de mesa hizo engañar al analizador de Outlook:

Visit <table><tr><td>www.</td><td>website</td><td>.com</td></tr></table> for more information.

Me corrió un mensaje de muestra a través de la sucesión de pruebas Email On Acid y encontraron que eludió el analizador en todos los principales e- clientes de correo que automáticamente convierten URLs (Outlook, iOS, Android 2.2, etc.) No ejecuté ninguna prueba de capacidad de entrega.

5

Yo también deseo desactivar esto, ya que considero que es un uso "válido" para no querer el enlace automático (una razón es que el diseñador lo quiere de esa manera, y actualmente están pagando las facturas).

En el correo electrónico enviado que no tiene imágenes, la cabecera tiene el nombre de dominio en él: EXTRANET.EXAMPLE.COM

que incluso poner los estilos en línea para asegurarse de que permanece blanca sobre un fondo negro: <span style="font-size: 1.5em;padding: 0.5em 0;text-transform: uppercase; font-weight:bold;color:#FFFFFF;text-decoration:none;">EXTRANET.EXAMPLE.COM</span>

Gmail lo convierte en un enlace, agrega un subrayado y también lo convierte en azul brillante en lugar del blanco deseado.

Al principio intenté reemplazar los puntos con &#46; que lo hacía parecer bien, pero no engañé al analizador de Gmail.

Por lo tanto, he añadido un espacio generado, que funciona muy bien (es decir, que engaña analizador de Gmail):

<span style="font-size: 1.5em;padding: 0.5em 0;text-transform: uppercase; font-weight:bold;color:#FFFFFF;text-decoration:none;">EXTRANET<span style="font-size:0.1em">&nbsp;</span>.<span style="font-size:0.1em">&nbsp;</span>EXAMPLE<span style="font-size:0.1em">&nbsp;</span>.<span style="font-size:0.1em">&nbsp;</span>COM</span>

+0

Este enfoque (colocar espacios angostos y sin interrupciones alrededor de la puntuación) debe aceptarse como la respuesta "correcta". Funciona para Gmail y Mail.app. Pongo "correcto" entre comillas porque el comportamiento de estas aplicaciones de cliente exige un hack rebelde. :-) – sheldonh

+0

estuvo de acuerdo con @sheldonh, funciona como un encanto. – littlealien

0

@raugfer sugiere en another answer: envolver el correo electrónico/URL con un ancla.

<a name="myname">[email protected]</a> 

Citando de esa respuesta:

Dado que el texto ya está envuelto en un hipervínculo, Gmail se rinde y dejarlo solo. :)

(Nota: también trabajó para el cliente de correo de Apple.)

0

Esto es lo que hice: ""

  • reemplazar todas las instancias de con <span style=""color:transparent; font-size:0px;"">[{</span>.<span style=""color:transparent; font-size:0px;"">}]</span>
  • reemplazar todas las instancias de "@" con <span style=""color:transparent; font-size:0px;"">[{</span>@<span style=""color:transparent; font-size:0px;"">}]</span>

Estos caracteres se detuvieron parseando enlaces y direcciones de correo electrónico, pero no son visibles para el usuario. Lo negativo es que cuando copia y pega un correo electrónico, por ejemplo, termina con: "test1 {[{}}]} dominio {[{}}}} com"

.

Cuestiones relacionadas