Ich glaube, ich habe das Problem mit GoogleImageProxy herausgefunden.
Dies hängt mit dem CACHING-Konzept zusammen. Angenommen, Sie haben kürzlich Ihren PHP-Code auf Ihrem Server bereitgestellt, aber vergessen, Bilder hochzuladen. Sie haben einmal mit Ihrer E-Mail-Logik getestet. Ihr System hat eine HTML-E-Mail generiert. Wenn diese E-Mail auf dem Google Mail-Server eingeht, versucht GoogleImageProxy, die Bilder von Ihrer Website auf einem eigenen Proxyserver abzurufen und zu speichern. Beim Abrufen der Bilder hat GoogleImageProxy 404 Status für Ihre fehlenden Bilder und 403 für einige geschützte Bilder gefunden. GoogleImagesProxy hat diese Status auf einem eigenen Proxyserver gespeichert.
Beim Versuch, Ihre E-Mail zu öffnen, haben Sie 404 Status für Ihre Bilder festgestellt. Das ist etwas Verständliches. Sie haben sofort festgestellt, dass Sie vergessen haben, einige Bilder hochzuladen, und haben sie auf Ihren Server hochgeladen. Außerdem haben Sie einige Berechtigungen für geschützte Bilder festgelegt.
Sie sind jetzt alle fertig. Jetzt versuchen Sie erneut, Ihr PHP-E-Mail-Skript auszuführen. Als Ergebnis erhalten Sie eine weitere E-Mail in Ihrem Google Mail- oder Hotmail-Posteingang. Sie hatten alle Probleme mit Ihren Bildern behoben. Jetzt müssen die Bilder in Ihrem E-Mail-Inhalt angezeigt werden. Sie können die Bilder jedoch immer noch nicht sehen.
Ah, möglicherweise haben Sie vergessen, den Cache Ihres Browsers zu leeren. Leeren Sie den Cache Ihres Browsers und laden Sie die Google Mail- oder Hotmail-Seite erneut. Aber das Ergebnis wird immer noch das gleiche sein. Versuchen Sie, Dutzende von Fixes / Patches anzuwenden und Ihr PHP-E-Mail-Skript tausendmal auszuführen. Aber das Ergebnis wird immer noch das gleiche sein. Keine Verbesserung.
DAS ECHTE PROBLEM
Was zur Hölle ist los? Lass es mich dir erklären. Gehen Sie zu Ihrem Zugriffsprotokoll und versuchen Sie, Anfragen von GoogleImageProxy zu finden. Sie werden überrascht sein, dass nur zwei oder drei Anfragen von GoogleImageProxy eingehen, abhängig von der Anzahl der verschiedenen Bilder, die in Ihrer E-Mail verwendet werden. GoogleImageProxy hat nie versucht, Bilder abzurufen. Auch nachdem Sie die Probleme mit Ihren Bildern behoben haben, indem Sie fehlende Bilder hochgeladen und Berechtigungen für geschützte Bilder festgelegt haben. Warum? Das Löschen des Cache Ihres Browsers hat keine Auswirkungen. GoogleImageProxy ruft auch für Ihre neuere E-Mail niemals die neuen Bilder ab, da die Bilder jetzt zusammen mit ihrem letzten Statuscode in GoogleImageProxy zwischengespeichert und nicht in Ihrem eigenen Browser zwischengespeichert werden.
GoogleImageProxy hat ein eigenes Ablaufdatum für die Bilder festgelegt. Ich denke einen Monat. Jetzt wird die neue Kopie der Bilder nach dem Ablaufdatum abgerufen. Ich meine nach einem Monat. Sie können GoogleImageProxy nicht zwingen, die Bilder abzurufen. Es ist jedoch wichtig, dass Sie Bilder in Ihrer E-Mail anzeigen. Was kann die Lösung sein?
DIE LÖSUNG
Das Folgende ist die einzige Möglichkeit, GoogleImageProxy zum Abrufen Ihrer Bilder zu zwingen
- Benennen Sie Ihre Bilder nur mit PNG-, JPG- oder GIF-Erweiterungen in etwas anderes um.
- Verwenden Sie in Ihrer Bild-URL keine Abfragezeichenfolge wie
?t=34343
- Ihr Bild muss PNG, JPG oder GIF als Erweiterung enthalten.
- Ihre Bild-URL muss direkt auf Ihr Bild abgebildet werden.
- Wenn Sie eine Proxy-URL für Ihre geschützten Bilder verwenden müssen, muss Ihre Antwort den richtigen Header enthalten
Content-Type: image/jpeg
- Dateierweiterung und Inhaltstyp-Header müssen übereinstimmen
- Der Statuscode muss 200 statt 403, 500 usw. Sein
WICHTIGE NOTIZ
Versuchen Sie, den gesamten Vorgang für jede Ausführung des PHP-E-Mail-Skripts zu wiederholen. Denn jedes Mal, wenn GoogleImageProxy Ihre Bilder zwischenspeichert, müssen Sie den gleichen Vorgang bei jedem neuen Versuch wiederholen.
Hoffentlich wird dies das Problem für die meisten Menschen beheben.