¿Cómo puedo evitar que Outlook se bloquee al recibir enlaces de Google Drive?

¿Cómo puedo evitar que Outlook se bloquee al recibir enlaces de Google Drive?

¿Por qué, te preguntarás, está sucediendo esto? Bueno, para ser claros, esto solo sucede cuando se recibe un correo electrónico escrito originalmente en Gmail (un enlace antiguo y normal sin el formato de Gmail agregado funciona bien).

Google inserta una imagen después del enlace y esa URI de imagen no contiene un protocolo ( httpo https). Se parece a esto:

<img src="//ssl.gstatic.com/ui/v1/icons/common/x_8px.png">

Ahora, en un navegador web, esto funcionará bien; el navegador utilizará cualquier protocolo que se haya utilizado para cargar la página (normalmente httpshoy en día).

En Outlook, sin embargo, esto se interpreta como un enlace para compartir archivos de Windows.

Entonces, Outlook decide intentar acceder a esa dirección usando el uso compartido de archivos de Windows (en el puerto 445) y, en lugar de rechazar la solicitud, Google simplemente la ignora y Outlook deja de responder hasta que se agota el tiempo de espera 30 segundos después. Y Outlook hace esto cada vez que abres el mensaje.

Si reenvía el mensaje, Outlook agrega un fileprotocolo al URI de la imagen:

<img src="file://ssl.gstatic.com/ui/v1/icons/common/x_8px.png">

Y, por supuesto, si el destinatario tiene Outlook, experimentará el mismo problema (el fileprotocolo no ayuda; simplemente confirma que Outlook cree que es una referencia a un archivo al que se puede acceder a través de Compartir archivos de Windows).

Esto parece ser independiente de la versión: es un problema con todas las versiones de Outlook hasta 2016.

Hay dos "respuestas" propuestas a esta pregunta repartidas por Internet:

  1. Agregue una entrada DNS a su archivo de hosts para resolver ssl.gstatic.com en 127.0.0.1
  2. Desactiva la descarga automática de imágenes en Outlook

Estas no son respuestas. Estas son soluciones que tienen grandes desventajas:

  1. La entrada DNS resolverá el problema de Outlook... pero le impedirá acceder a cualquier servicio de Google a través de un navegador web.
  2. Desactivar la descarga de imágenes resolverá el problema de Outlook, pero es muy molesto para cualquiera que confíe en muchas direcciones, por lo que no tiene que elegir manualmente descargar/mostrar imágenes.

Desafortunadamente, Google no tiene interés en corregir el URI de esta imagen (aunque es la única imagen con un URI sin protocolo; los mensajes de Gmail contienen muchas otras imágenes que incluyen el protocolo), aunque es comprensible ya que la versión sin protocolo Funciona bien en navegadores.

Microsoft está en el mismo barco, afirmando que usaron primero la versión sin protocolo para indicar los enlaces para compartir archivos de Windows, por lo que tampoco lo arreglarán.

¡Nadie quiere solucionar el problema real, que existe desde hace años!

Respuesta1

He informado a los usuarios finales de por qué sucede esto: Outlook está buscando un archivo externo pero no puede recuperar los datos (una manera fácil de digerir para el usuario final).

Les he dado instrucciones para editar el correo electrónico > seleccionar la imagen rota > eliminarla > guardar el correo electrónico.

No habrá más problemas al abrir este correo electrónico ya que file://ssl.gstatic.com/ui/v1/icons/common/x_8px.pngya no existe en este correo electrónico.

Prefiero este método porque ayuda a educar a los usuarios sobre algunas de las funciones de Outlook (edición de correos electrónicos), les informa que no es un problema interno y debido al hecho de que recibimos muy pocos de estos correos electrónicos (un incidente cada 6 meses). Por supuesto, no sé cuántas personas tienen el problema y no dicen nada al respecto, pero podría ejecutar un script de PowerShell para averiguarlo :)

Respuesta2

El únicorealLa respuesta que se me ocurrió es usar un script VBA, que compartiré a continuación. Espero que alguien más inteligente que yo (o al menos alguien con más tiempo) pueda convertir esto en un complemento de Outlook real. No me importa si ganas dinero con ello, pero sería genial si me acreditaran el código original, aunque es bastante simple.

Advertencia: si no se siente cómodo jugando con Visual Basic para Aplicaciones (VBA), debe detenerse aquí o buscar a alguien que se sienta cómodo.

No explicaré cómo activar el menú Desarrollador en Outlook, pero lo necesitarás para abrir Visual Basic.

  1. Una vez en Visual Basic, vaya a:
    • Project1
      • Microsoft Outlook Objects
        • ThisOutlookSession
  2. Agregue el siguiente código debajo de eso:
' When new mail is received...
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim arr() As String
    Dim i As Integer
    Dim item As Object
    Dim mailItem As mailItem
    arr = Split(EntryIDCollection, ",")
    For i = 0 To UBound(arr)
        Set item = GetItemById(arr(i))
        If item.Class = olMail Then
            Set mailItem = item
            Call FixGoogleDriveLinks(mailItem)
        End If
    Next
    Set item = Nothing
    Set m = Nothing
End Sub

' Fix Google's gstatic.com links with no protocol so that they use the https protocol explicitly
' This prevents Outlook from hanging on these since it attempts to treat them as Windows File Sharing links
Function FixGoogleDriveLinks(olItem As mailItem)
    olItem.HTMLBody = Replace(olItem.HTMLBody, """//ssl.gstatic.com", """https://ssl.gstatic.com") ' For new messages that came directly from Gmail
    olItem.HTMLBody = Replace(olItem.HTMLBody, "file://ssl.gstatic.com", "https://ssl.gstatic.com") ' For messages that were forwarded using Outlook
    olItem.Save
End Function
  1. Haga clic en el icono Guardar
  2. Reiniciar Outlook
  3. Deberá hacer clic Enable Macroscada vez que abra Outlook (o el código no se ejecutará)

Esto arreglará cualquier mensaje nuevo, perono corrige ningún mensaje antiguoes posible que te hayas escondido en tu bandeja de entrada (todavía congelarán Outlook durante 30 segundos, etc.). Intenté crear un código para corregir cualquier mensaje que intentas leer, pero no pude hacerlo funcionar. Sospecho que Outlook no permitirá ese tipo de cambios cuando abres un mensaje para leerlo.

Por favor, avíseme si esto funciona para usted o no. Tengo un montón de código haciendo otras cosas, así que lo eliminé (por lo que técnicamente no lo he probado en esta forma prístina).

información relacionada