Baroski: Signaturbild soll nicht gecached werden

Hallo,

eins vorweg, ich habe die Suche bemüht und auch ähnliche Probleme gefunden, die allerdings nicht meins abdecken.

Folgendes Problem. Ich schreibe meine E-Mails im HTML Format. Am Ende jeder Mail gibt es eine Signatur, in der eine Grafik enthalten ist, die auf meinem Fileserver gespeichert wurde und von einer bestimmten URL abgerufen werden soll. Dies dient zur zentralen Steuerung der enthaltenen Grafik.

Wenn ich nun die Grafik änderen möchte, also auf dem Fileserver einfach die vorhandene Grafik mit einer Neuen ersetze, dauert es ewig, teilweise Wochen, bis die neue Grafik beim Absender und Empfänger dargestellt wird. Wenn mich nicht alles täuscht, sollte das am Cache liegen.

Wie kann ich es so in den HTML Code einarbeiten, dass dies nicht geschieht?

In einem anderen Forum habe ich folgenden Tipp gefunden:

<img src="meinBild.jpg?var=<?= md5(time)) ?>" width="" height="" alt="">  

Allerdings zeigen E-Mailanbieter wie Web.de, Arcor, etc die Grafik nicht an, da sie wohl mit dem Hash nicht zurechtkommen.

Kann mir irgendjemand weiterhelfen? Vielen Dank im Voraus und mit freundlichen Grüßen

  1. Hallo Baroski,

    einzig fiele mir ein, da ja wohl bewusst eine externe Ressource referenziert werden soll, nicht von einem Fileserver sondern von einem normalen Webserver zu servieren (HTTP). Dabei hast Du Möglichkeiten, Cache-Angaben zu setzten, und kannst nur hoffen, dass die Clients diese berücksichtigen. Mehr erscheint mir nicht möglich.

    Gruß aus Berlin!
    eddi

    1. Hallo Baroski,

      einzig fiele mir ein, da ja wohl bewusst eine externe Ressource referenziert werden soll, nicht von einem Fileserver sondern von einem normalen Webserver zu servieren (HTTP). Dabei hast Du Möglichkeiten, Cache-Angaben zu setzten, und kannst nur hoffen, dass die Clients diese berücksichtigen. Mehr erscheint mir nicht möglich.

      Gruß aus Berlin!
      eddi

      Hallo eddi,

      danke für den Tipp. Könntest du mir einen Ansatz geben, wie?

      1. Re:

        danke für den Tipp. Könntest du mir einen Ansatz geben, wie?

        Den Bildern müssten dann spezielle HTTP-Header beim Abruf mitgegeben werden, um Speichermechanismen zu instruieren (RFC 2616; 13). Das betrifft also die Header Cache-Control und Expires. Leider sind die kein Garant für Client-Verhalten.

        Für den Apachen können diese Header, wie in Christian Kruses Artikel beschreiben wird, gesetzt werden. Wenn ein anderer Webserver zum Einsatz kommt, frag einfach nochmals nach.

        Gruß aus Berlin!
        eddi

  2. Hi,

    Folgendes Problem. Ich schreibe meine E-Mails im HTML Format.

    ja, das kann tatsächlich ein Problem sein. Denn immer mehr Nutzer deaktivieren die Anzeige von HTML in ihren Mailclients. Ich hoffe, du verfasst die Mails wenigstens als MIME-multipart mit einem Teil in HTML und einem in Plaintext?

    Am Ende jeder Mail gibt es eine Signatur, in der eine Grafik enthalten ist, die auf meinem Fileserver gespeichert wurde und von einer bestimmten URL abgerufen werden soll.

    Wir reden also von einem geschlossenen Benutzerkreis, z.B. innerhalb eines Firmennetzwerks? Andernfalls hätten die Mailempfänger ja keinen Zugriff auf deinen Fileserver.
    Außerdem ist das Nachladen von externen Grafiken beim Lesen der Mail in einigen Mailclients schon per Voreinstellung deaktiviert.

    Wenn ich nun die Grafik änderen möchte, also auf dem Fileserver einfach die vorhandene Grafik mit einer Neuen ersetze, dauert es ewig, teilweise Wochen, bis die neue Grafik beim Absender und Empfänger dargestellt wird.

    Erstens:  Woran stellst du das fest?
    Zweitens: Die Grafiken in bereits zugestellten Mails *sollen* sich ja in der Regel nach der Zustellung nicht mehr ändern - das könnte ja nachträglich sinnentstellend sein! Gut, hier geht es nur um die Signatur, aber ich meine das grundsätzlich.

    Wir reden also höchstens noch davon, dass in *neu verfassten* Mails auch die "aktuelle" Grafik steckt. Und das kannst du am besten dadurch sicherstellen, dass du sie direkt in die Message einbettest, anstatt extern zu referenzieren.

    In einem anderen Forum habe ich folgenden Tipp gefunden:
    <img src="meinBild.jpg?var=<?= md5(time)) ?>" width="" height="" alt="">

    Das mag im Kontext von Webseiten funktionieren, die von einem Webserver ausgeliefert werden - da wird auch das Stückchen PHP interpretiert und ausgeführt. Wenn ein Mailclient einfach nur den Message-Text aus seiner Mailbox holt und anzeigt, ist aber kein PHP-Interpreter im Spiel. Dein obiger Quellcode wird also so wie er dasteht vom HTML-Parser verarbeitet. Das ergibt Kauderwelsch.

    Allerdings zeigen E-Mailanbieter wie Web.de, Arcor, etc die Grafik nicht an, da sie wohl mit dem Hash nicht zurechtkommen.

    Meinst du deren Webmail-Interfaces? Die hätten zwar technisch gesehen die Möglichkeit, eingebettete PHP-Anweisungen auszuführen, werden aber aus Sicherheitsgründen alles tun, um das zu verhindern.
    Nebenbei ist das Lesen von Mails über das Wemail-Interface des Providers ja nur eine Notlösung, bei der man sowieso gewisse Einbußen hinnimmt. Da würde ich mir keine allzu großen Gedanken machen.

    So long,
     Martin

    --
    Soso, der Klügere gibt nach.
    Aber warum sollen sich immer nur die Dummen durchsetzen?  .oO(?)