תמונה דינמית במייל


  • תכנות

    בהמשך לפוסט שלי לגבי המערכת שמנוהלת דרך המייל, הייתי רוצה לשדרג את זה, שיוכלו לראות במייל עצמו אם הפניה כבר טופלה או לא.

    אז שמתי תגית IMG של תמונה, ובה אני קורא לדף PHP עם פרמטר של מספר הפניה, והדף הזה מייצר תמונה (עם ספריית GD), ובה כתוב "ממתין למענה" אם הפניה עדיין לא טופלה, או "טופל" אם זה כבר טופל.

    קיבלתי את המייל, ובאמת היה כתוב "ממתין לטיפול". אבל אחרי הטיפול, למרות שהדף PHP עכשיו מחזיר "טופל", התמונה ממשיכה להציג "ממתין לטיפול"!!!
    הסיבה היא כנראה שGMAIL לא טוען כל פעם את התמונה אלא שומר אותה בCACHE. וא"כ נפל פיתא בבירא.

    אבל אחר כך חשבתי שאמור להיות פיתרון לזה, כי MAILTRACK הרי יודע כמה פעמים המייל נקרא על ידי אותו נמען!! ומוכח שבכל פעם שהנמען פותח את המייל, התמונה שוב נטענת וכך הם יודעים שהמייל נפתח.

    מקווה שהייתי ברור ואשמח למענה.

    תודה


  • תכנות

    @שואף לא חושה שGMAIL לוקח מהקאש, אלא הדפדפן עצמו בנוי כך.
    אולי אפשר לשנות את הheaders של התמונה כך שיודיע כמה זמן אפשר לשמור בקאש.
    דבר נוסף, גם הקאש עובד בצורה ששואלים את השרת האם יש שינוי בתשובה, (נראה לי סטטוס 304 אומר שלא היה שינוי).


  • תכנות

    אתה צודק באמת אני רואה בHEADER של מיילטרק שכתוב Cache-Control: max-age=60, private
    https://mailtrack.io/trace/mail/77f23329ac8aa8d52a64d93631d24cbaefebbf41.png?u=3D1180230

    איך אני מגדיר את זה אצלי בתמונה?

    עריכה: ב"ה זה עובד
    https://stackoverflow.com/questions/21802820/dynamic-images-for-email-such-as-countdown-clocks-in-light-of-gmail-image-cachi/40569195#40569195

    תודה רבה


  • ניהול

    יש שתי בעיות אפשריות:
    א. גוגל ממירה באופן חד פעמי את התמונה שלך לפרוקסי שלה. ואח"כ לא טוענת יותר את התמונה, בגלל קאש של השרת שלה.
    בשביל לפתור את הבעיה הזו, יש פה פתרון https://stackoverflow.com/a/29184629/1271037 שכולל כמה כללים שבהם גוגל לא ממירה את התמונה לפרוקסי מה שגורר ריענון שלה שוב ושוב.
    אחד הכללים אומר לא להשתמש בquery string וזה אומר שהכתובת צריכה להיראות לא ככה:
    example.com/getImage?id=125845
    אלא משהו בסגנון:
    example.com/getImage/125845/image.jpg
    בשביל שיעבוד בPHP אתה צריך מודול של routing או לחילופין לעשות rewrite בhtaccess.

    ב. האפליקציה לעיתים שומרת אלמנטים בדף מלהיטען שוב, כמו שעושה למשל אנגולר.
    לדעתי אין שום הגנה ממצב כזה, אם הוא קיים. כלומר איפה שמיילטראק עובד זה יעבוד.


  • תכנות

    @dovid לא בדיוק. הכללים האלה לכאורה לא מונעים את ההמרה לפרוקסי של גוגל, עכ"פ אני בדקתי וזה תמיד טוען מפרוקסי.

    למעשה הסתדרתי כמו שכתבתי לעיל, שאני שולח בHEADER שלא ישמור בCACHE. אבל זה כל פעם טוען מפרוקסי.
    היה יותר טוב שיקח ישירות מהאתר שלי, אבל לא מצאתי לזה פיתרון.

    תודה


  • חשמל ואלקטרוניקה תכנות

    @שואף לכאורה אין סיבה שלא ייקח מפרוקסי, כי זה בגלל אבטחה.
    (שבעל השרת לא יידע פרטים על מקבל המייל).


  • ניהול

    @שואף אמר בתמונה דינמית במייל:

    @dovid לא בדיוק. הכללים האלה לכאורה לא מונעים את ההמרה לפרוקסי של גוגל, עכ"פ אני בדקתי וזה תמיד טוען מפרוקסי.

    אתה בטוח צייתת לכל הכללים? יש לציין טעיתי ובכל מקרה זה עובר פרוקסי אלא שהוא אמור לקחת שוב ושוב מהמקור.


  • תכנות

    @dovid כן זה הבנתי שזה באמת לוקח שוב ושוב. אבל לכאורה אין דרך שלא לעבור בפרוקסי
    ראיתי שמשתמשי G SUITE יכולים, אבל אני יהודי פשוט..


  • ניהול

    @שואף אמר בתמונה דינמית במייל:

    @dovid כן זה הבנתי שזה באמת לוקח שוב ושוב. אבל לכאורה אין דרך שלא לעבור בפרוקסי

    מה אכפת לך פרוקסי אם הוא לוקח שוב ושוב מהשרת שלך?


  • חשמל ואלקטרוניקה תכנות

    סתם מעניין:
    לפי ההשערה שלי, מה שמיילטראק צריכים הרשאת גישה לחשבון, זה בשביל לערוך את הלינקים לתמונות שלהם, שיהיה בלי פרוקסי, וכך יוכלו לדווח עוד פרטים על מקבל המייל (כמו מכשיר וכו').

    כבר כתבתי בעבר, שזה לכאורה התשובה לזה שבמציאות חסימה של הלינקים של מיילטראק בהגדרות הסינון בנטפרי, מבטלת את אפשרות המעקב, בזמנו @magicode מאד התפלא על זה, וטען שאפשר רק לחסום את כל תמונות צד ג' (ע"י חסימת הפרוקסי), אבל המציאות הוכיחה אחרת, שלתמונות מיילטראק הוא ניגש בלי פרוקסי.

    ייתכן שאם נכנסים למייל דרך כרום, זה גם ככה מתורגם ללינק ישיר ע"י התוסף, רק שהם רוצים שגם כשנכנסים מהנייד, יופיע הפרטים.


 

בא תתחבר לדף היומי!