Czy renderujesz obrazy za pomocą niepublicznego adresu URL w treści wiadomości Gmaila?

9

Po niedawnej zmianie Gmaila, aby wyświetlać wszystkie obrazy za pośrednictwem serwera proxy, wydaje się, że nie można już osadzać obrazu wyświetlanego za pośrednictwem localhostadresu URL. Na przykład, jako programista, mogłem kiedyś wysłać do siebie wiadomość e-mail z treściami takimi jak:

<img src="http://localhost/trackthismessage?readby=xxxx" />

a po powiadomieniu Gmaila o wyświetlaniu obrazów obraz zostanie podany przez moją lokalną maszynę programistyczną.

Teraz, gdy proxy znajduje się pośrodku, wydaje się, że nie jest to już możliwe. Czy ta funkcjonalność właśnie zniknęła, czy jest jakieś obejście?

andrew.w.lane
źródło
Bardzo wątpię, że nastąpi obejście tego problemu, chyba że gmail wróci do tej funkcji. Prawdopodobnie musisz udostępnić swój obraz w Internecie, aby Gmail mógł go buforować.
Munim,

Odpowiedzi:

5

W rzeczywistości istnieje sposób obejścia tego problemu. Po prostu uruchom to w konsoli JS, a pojawią się obrazy. Znaleziono to na Przepełnienie stosu. Najpierw upewnij się, że wybierasz opcję „Wyświetl obrazy” w wiadomości

(function(){ while(img = document.evaluate('//img[contains(@src, \'googleusercontent.com\')]', document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue){ var src = img.attributes.src.value; src = src.substr(src.indexOf('#')+1); img.attributes.src.value = src; } })();

Możesz także utworzyć zakładkę dla większej poręczności, poprzedzając ją powyższym javascript:

javascript:(function(){ while(img = document.evaluate('//img[contains(@src, \'googleusercontent.com\')]', document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue){ var src = img.attributes.src.value; src = src.substr(src.indexOf('#')+1); img.attributes.src.value = src; } })();
Piotr
źródło
0

Jak już wspomniano w samym pytaniu, a także przez Munima w komentarzach, jest bardzo mało prawdopodobne, aby było to możliwe w najbliższym czasie.


źródło