GoogleImageProxy sorununu çözdüğümü düşünüyorum.
Bu, CACHING konseptiyle ilgili bir şeydir. farz edelim ki, php kodunuzu son zamanlarda sunucunuza yerleştirdiniz ama görüntüleri yüklemeyi unuttunuz. e-posta mantığınızla bir kez test ettiniz. sisteminiz bir HTML e-postası oluşturdu. Bu e-posta gmail sunucusuna ulaştığında, GoogleImageProxy, görüntüleri sitenizden kendi proxy sunucusuna alıp saklamaya çalışacaktır. GoogleImageProxy, görüntüleri getirirken, eksik görüntülerinize karşı 404 ve bazı korumalı görüntülere karşı 403 durumu buldu. GoogleImagesProxy bu durumları kendi proxy sunucusunda sakladı.
Şimdi e-postanızı açmaya çalıştığınızda, resimlerinizde bazı 404 durumu fark ettiniz. Bu anlaşılabilir bir şey. Bazı görüntüleri yüklemeyi unuttuğunuzu hemen fark ettiniz, bu yüzden onları sunucunuza yüklediniz. ve ayrıca korumalı görüntülere karşı bazı izinleri düzelttiniz.
Artık işiniz bitti. Şimdi php-e-posta betiğinizi bir kez daha çalıştırmayı deneyin. Sonuç olarak, Gmail veya Hotmail gelen kutunuza başka bir e-posta alırsınız. resimlerinizle ilgili tüm sorunları çözdünüz. Şimdi resimler e-posta içeriğinizde görüntülenmelidir. ama hala görüntüleri göremiyorsunuz.
Ah, muhtemelen tarayıcınızın önbelleğini temizlemeyi unuttunuz. Tarayıcınızın önbelleğini temizleyin ve gmail veya hotmail sayfasını bir kez daha yükleyin. Ancak sonuç yine aynı olacak. Düzinelerce düzeltme / yama uygulamayı deneyin ve php-e-posta betiğinizi binlerce kez çalıştırmayı deneyin. Ama sonuç yine aynı olacak. İlerleme yok.
GERÇEK SORUN
Neler oluyor? Size açıklayayım. Erişim günlüğünüze gidin ve GoogleImageProxy'den gelen istekleri bulmaya çalışın. E-postanızda kullanılan farklı görüntülerin sayısına bağlı olarak GoogleImageProxy'den yalnızca 2 veya 3 üç istek olacağını görünce şaşıracaksınız. GoogleImageProxy hiçbir zaman görüntüleri getirmeyi denemedi. Eksik resimleri yükleyerek ve korumalı görüntüler için izinler ayarlayarak resimlerinizle ilgili sorunları çözdükten sonra bile. Neden? Tarayıcınızın önbelleğini temizlemenin hiçbir etkisi yoktur. GoogleImageProxy, yeni e-postanız için bile yeni görüntüleri asla getirmez çünkü görüntüler artık son durum kodlarıyla birlikte GoogleImageProxy'de önbelleğe alınır ve kendi tarayıcınızda önbelleğe alınmaz.
GoogleImageProxy, görüntüler için kendi son kullanma tarihini belirledi. Sanırım bir ay. bu yüzden şimdi görüntülerin yeni kopyaları son kullanma tarihinden sonra alınacaktır. Yani bir ay sonra. GoogleImageProxy'yi görüntüleri getirmeye zorlayamazsınız. Ancak e-postanızdaki resimleri görüntülemeniz sizin için önemlidir. Çözüm ne olabilir?
ÇÖZÜM
GoogleImageProxy'yi resimlerinizi getirmeye zorlamanın tek yolu şudur:
- Resimlerinizi yalnızca png, jpg veya gif uzantılarıyla başka bir adla yeniden adlandırın.
- Görsel URL'nizde aşağıdaki gibi herhangi bir sorgu dizesi kullanmayın
?t=34343
- Resminiz bir uzantı olarak png, jpg veya gif içermelidir.
- görsel url'niz doğrudan resminize eşlenmelidir.
- Korunan resimleriniz için bir proxy url kullanmanız gerekiyorsa, yanıtınız aşağıdaki gibi uygun başlığı içermelidir.
Content-Type: image/jpeg
- Dosya uzantısı ve içerik türü başlığı eşleşmelidir
- Durum kodu 403, 500 vb. Yerine 200 olmalıdır.
ÖNEMLİ NOT
Her php-e-posta betiği çalıştırması için tüm süreci tekrar etmeye çalışın. çünkü GoogleImageProxy her seferinde resimlerinizi önbelleğe alacak ve her yeni denemede aynı işlemi tekrarlamanız gerekecek.
Umarım bu, çoğu insan için sorunu çözecektir.