Я думаю, что разобрался с проблемой GoogleImageProxy.
Это что-то связано с концепцией CACHING. Предположим, вы недавно развернули свой php-код на своем сервере, но забыли загрузить изображения. вы однажды протестировали логику электронной почты. ваша система сгенерировала электронное письмо в формате HTML. Когда это письмо попадет на сервер Gmail, GoogleImageProxy попытается получить и сохранить изображения с вашего сайта на своем собственном прокси-сервере. при загрузке изображений GoogleImageProxy обнаружил около 404 статусов для ваших отсутствующих изображений и 403 для некоторых защищенных изображений. GoogleImagesProxy сохранил эти статусы на своем собственном прокси-сервере.
Теперь попытался открыть свою электронную почту, вы заметили 404 статуса для ваших изображений. Это что-то понятно. Вы сразу поняли, что забыли загрузить некоторые изображения, поэтому вы загрузили их на свой сервер. а также вы установили некоторые разрешения для защищенных изображений.
Теперь все готово. Теперь вы снова пытаетесь запустить свой скрипт php-email. В результате вы получите еще одно письмо в почтовый ящик Gmail или Hotmail. вы устранили все проблемы с вашими изображениями. Теперь изображения должны отображаться в вашем электронном письме. но вы по-прежнему не видите изображения.
А, возможно, вы забыли очистить кеш браузера. Очистите кеш браузера и снова загрузите страницу Gmail или Hotmail. Но результат будет все тот же. Попробуйте применить десятки исправлений / патчей и попробуйте запустить свой скрипт php-email тысячи раз. Но результат будет все тот же. Без улучшения.
НАСТОЯЩАЯ ПРОБЛЕМА
Что, черт возьми, происходит? Позвольте мне вам это объяснить. Зайдите в свой журнал доступа и попробуйте найти запросы от GoogleImageProxy. Вы будете удивлены, увидев, что от GoogleImageProxy будет всего 2 или 3 трех запроса в зависимости от количества различных изображений, используемых в вашем письме. GoogleImageProxy никогда не пытался получить изображения даже после того, как вы устранили проблемы с изображениями, загрузив отсутствующие изображения и установив разрешения для защищенных изображений. Зачем? Очистка кеша вашего браузера не влияет. GoogleImageProxy никогда не получит свежие изображения даже для вашей новой электронной почты, потому что изображения теперь кэшируются в GoogleImageProxy вместе с их последним кодом состояния, а не кешируются в вашем собственном браузере.
GoogleImageProxy устанавливает собственную дату истечения срока действия изображений. Думаю один месяц. так что теперь новая копия изображений будет получена по истечении срока годности. Я имею в виду через месяц. Вы не можете заставить GoogleImageProxy получать изображения. Но для вас важно отображать изображения в электронной почте. Что может быть решением?
РЕШЕНИЕ
Ниже приведен единственный способ заставить GoogleImageProxy получать ваши изображения.
- Переименуйте свои изображения во что-нибудь другое, используя только расширения png, jpg или gif.
- Не используйте в URL-адресе изображения какие-либо строки запроса, например
?t=34343
- ваше изображение должно включать png, jpg или gif в качестве расширения.
- URL-адрес вашего изображения должен быть напрямую сопоставлен с вашим изображением.
- Если вам нужно использовать прокси-адрес для ваших защищенных изображений, ваш ответ должен содержать правильный заголовок, например
Content-Type: image/jpeg
- Расширение файла и заголовок типа содержимого должны совпадать.
- Код статуса должен быть 200 вместо 403, 500 и т. Д.
ВАЖНАЯ ЗАМЕТКА
Попробуйте повторять весь процесс для каждого запуска скрипта php-email. потому что каждый раз GoogleImageProxy будет кэшировать ваши изображения, и вам придется повторять один и тот же процесс для каждой новой попытки.
Надеюсь, это решит проблему для большинства людей.