image - quimicos - El nuevo almacenamiento en caché de imágenes de Gmail está rompiendo enlaces de imágenes en el boletín
tipos de enlaces covalentes (10)
Asegúrese de que Gmail solicite su imagen en lugar de http
, no https
.
Digamos que tu URL de imagen normal es:
https://www.mysite.com/images/pic1.jpg
Entonces cambie a:
http://www.mysite.com/images/pic1.jpg
Tengo una fuerte sensación de que el proxy de Google no almacena en caché https
.
Tengo algunos correos electrónicos automáticos que se envían al finalizar la suscripción para mi sitio.
Hasta hace poco, funcionaban bien. Ahora el nuevo sistema de Google está reescribiendo las imágenes y almacenándolas en su caché (supuestamente)
Sin embargo, la nueva reescritura de Google de mis enlaces de imagen los está rompiendo por completo, dando un error de 500 y una imagen de enlace roto.
Digamos que mi URL de imagen normal es:
http://www.mysite.com/images/pic1.jpg
Google está reescribiendo esto para:
https://ci5.googleusercontent.com/proxy/vI79kajdUGm6Wk-fjyicDLjZbCB1w9NfkoZ-zQFOB2OpJ1ILmSvfvHmE56r72us5mIuIXCFiO3V8rgkZOjfhghTH0R07BbcQy5g=s0-d-e1-ft#http://www.mysite.com/images/pic1.jpg
Sin embargo, no hay nada en esa URL.
Por lo tanto, o bien hay algo mal con los enlaces que está creando Google o las imágenes simplemente no se cargan en el servidor de contenido de googleuser, pero no tengo idea de cómo resolver el problema.
Estoy usando PHP, la biblioteca phpmailer y un servidor Ubuntu en Amazon EC2, pero no estoy seguro de que esté relacionado con el problema.
En mi caso, el tamaño del archivo era el problema, era de 22 Mb (¿lo sé, verdad?), Y después de que redujimos el tamaño, todo comenzó a funcionar como un amuleto.
Verifique el tamaño del archivo y si es demasiado grande, cópielo.
Es el 6 de marzo y probablemente ya hayas descubierto esto, pero pensé que me gustaría ayudar a otros. Descubrí que los JPG no funcionan en Gmail. El formato PNG funciona muy bien. Lo siento, no puedo explicar por qué, pero a veces es mejor no preguntar por qué. ¡Usa PNG!
Estaba teniendo un problema similar, pero fue causado por la longitud de la URL. Google genera la siguiente URL cuando almacena en caché una imagen desde gmail:
https://ci4.googleusercontent.com/proxy/[hash]#[url])
El hash generado se basa en la URL de la imagen, pero el tamaño variará en función de los caracteres utilizados. Ejecuté varias pruebas con direcciones URL de diferentes tamaños, y encontré que la imagen almacenada en caché no se cargaba de manera consistente (400 / Solicitud no válida) si el hash supera los 2076 caracteres de longitud (cerca de 2048 bytes + meta? No seguro).
De nuevo, la URL de la imagen podría generar un hash que exceda estos muchos caracteres con ~ 1000 caracteres especiales o más de 1500 caracteres simples. Si el hash excede 2076 caracteres de longitud, la solicitud falla.
Me doy cuenta de que esta es una publicación anterior, pero espero que esto ayude a otros desarrolladores a buscar en Google
Las ubicaciones de imagen HTTPS hacen caché. Varios de nuestros entornos de producción no tienen problemas con las ubicaciones de imágenes de proxy de Gmail utilizando un uri HTTPS. Pude ver a gmail ignorando tu contenido si el certificado SSL no es válido de alguna manera.
Lo intenté, después de reemplazar la imagen (sin cambiar el nombre de la imagen)
Abrir el correo electrónico en el nuevo navegador, muestra una nueva imagen
Ctrl + f5 (fuerza una actualización de caché) en el cromo (mi navegador predeterminado), también muestra una nueva imagen
Sé que esta es una vieja pregunta, pero me pasó lo mismo. Cuando revisé mis registros de acceso, esto es lo que encontré:
www.example.ca 66.249.85.50 - - [10/Apr/2014:17:57:18 -0400] "GET /newsletters/Apr10_2014/cad/cad2.jpg HTTP/1.1" 403 457 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7 (via ggpht.com GoogleImageProxy)"
Puedes ver que mi servidor estaba bloqueando el GOOGLEIMAGEPROXY dándole una respuesta Prohibida 403 . Decidí verificar mi .htaccess y, efectivamente, estaba bloqueando el término PROXY . Después de eliminar el término, las imágenes parecen estar bien ahora en Gmail. Espero que ayude.
Según su ejemplo, parece que está utilizando extensiones tradicionales (.jpg, .png, .gif). Algunas personas en este hilo , describiendo los mismos problemas que enfrentan, han declarado que el uso de esas extensiones resuelve el problema.
Otras posibles soluciones:
- Enlaces de imagen rotos en Gmail debido al proxy de imagen de Google
- Dudoso, pero tal vez un problema con las galletas
- Configuración de la lista blanca de proxy de URL de imagen : esta ha resultado ser la solución para unos pocos usuarios que están en Google Apps. A través de Gmail no se muestra la imagen cuando la url de la imagen se adjunta con https://ci4.googleusercontent.com/proxy
Verifique que el tipo de contenido devuelto por su servidor para el archivo de imagen sea correcto.
Puedes verificar esto usando Fiddler.
Creo que he descubierto el problema de GoogleImageProxy.
Esto es algo relacionado con el concepto CACHING. supongamos que acaba de implementar su código php en su servidor, pero olvidó subir imágenes. Has probado una vez con tu lógica de correo electrónico. su sistema generó un correo electrónico HTML. Cuando este correo electrónico llegue al servidor de Gmail, GoogleImageProxy intentará buscar y almacenar las imágenes de su sitio en su propio servidor proxy. mientras busca las imágenes, GoogleImageProxy encontró algunos 404 estados contra las imágenes que faltan y 403 contra algunas imágenes protegidas. GoogleImagesProxy ha almacenado estos estados en su propio servidor proxy.
Ahora intenté abrir su correo electrónico, notó algunos estados 404 en contra de sus imágenes. Esto es algo comprensible Inmediatamente se dio cuenta de que olvidó subir algunas imágenes, por lo que las cargó en su servidor. y también ha corregido algunos permisos contra imágenes protegidas.
Ya has terminado. Ahora intenta ejecutar su script php-email una vez más. Como resultado, recibirá otro correo electrónico en su bandeja de entrada de Gmail o Hotmail. ha arreglado todos los problemas con sus imágenes. Ahora las imágenes deben mostrarse en el contenido de su correo electrónico. pero aún no puedes ver las imágenes.
Ah, posiblemente se te olvidó borrar el caché de tu navegador. Borre la memoria caché de su navegador y cargue la página de gmail o hotmail una vez más. Pero el resultado será el mismo. Intenta aplicar docenas de correcciones / parches e intenta ejecutar tu script php-email miles de veces. Pero el resultado será el mismo. Sin mejora.
EL PROBLEMA REAL
¿Qué diablos está pasando? Déjame explicarte. Vaya a su registro de acceso e intente encontrar solicitudes de GoogleImageProxy. Te sorprenderá ver que solo habrá 2 o 3 solicitudes de GoogleImageProxy dependiendo de la cantidad de imágenes diferentes que se usen en tu correo electrónico. GoogleImageProxy nunca intentó buscar imágenes Incluso después de haber solucionado los problemas con sus imágenes, cargando imágenes perdidas y estableciendo permisos para las imágenes protegidas. ¿Por qué? Borrar el caché de su navegador no tiene impacto. GoogleImageProxy nunca buscará las imágenes nuevas ni siquiera para su correo electrónico más nuevo porque las imágenes ahora están en caché en GoogleImageProxy junto con su último código de estado y no se almacenan en la memoria caché de su propio navegador.
GoogleImageProxy ha establecido su propia fecha de caducidad para las imágenes. Creo que un mes. así que ahora la nueva copia de las imágenes será recuperada después de la fecha de caducidad. Quiero decir después de un mes. No puede obligar a GoogleImageProxy a buscar las imágenes. Pero es importante que muestres las imágenes en tu correo electrónico. Cual puede ser la solución?
LA SOLUCIÓN
La siguiente es la única forma de forzar a GoogleImageProxy a buscar sus imágenes
- Cambie el nombre de sus imágenes a otra cosa con extensiones png, jpg o gif solamente.
- No utilice ningún tipo de cadena de consulta en la URL de su imagen como
?t=34343
- su imagen debe incluir png, jpg o gif como una extensión.
- su url de imagen debe asignarse a su imagen directamente.
- Si necesita utilizar alguna URL proxy para sus imágenes protegidas, entonces su respuesta debe incluir el encabezado adecuado, como
Content-Type: image/jpeg
- La extensión de archivo y el encabezado de tipo de contenido deben coincidir
- El código de estado debe ser 200 en lugar de 403, 500, etc.
NOTA IMPORTANTE
Intenta repetir todo el proceso para cada ciclo de script php-email. porque cada vez GoogleImageProxy guardará en caché tus imágenes y tendrás que repetir el mismo proceso para cada nueva prueba.
Con suerte, esto solucionará el problema para la mayoría de las personas.