tropenberta: mail

Hi Leuts (nochmal heute)

Befasse mich gerade mit php mail und möchte in meiner Bestätigungsmail mein logo haben.

Hab den header folgendermasen aufgebaut:

  
$header2  = 'MIME-Version: 1.0' . "\r\n";  
$header2 .= 'Content-type: text/html; charset=UTF-8' . "\r\n";  
$header2 .= 'From:' . $abs1 . ' ' . $abs2 . '<' . $empf . '>';  
$form_cont2 = '  
<html>  
<body>  
<img src="dw_logo_rgb_300ppi.jpg" width="150" height="50" alt=""/>  
   Testmeldung  
</body>  
</html>  
';  

In der empfangenen Mail sehe ich zwar das Kästchen vom Image, aber kein Image. Im Kästchen steht das ich mit rechter Maustaste das Bild downloaden kann. Wo liegt mein Fehler ?

lg
Micha

  1. Aloha ;)

    Vorweg: ich hab keine Ahnung von der speziellen Thematik. Aber:

    <img src="dw_logo_rgb_300ppi.jpg" width="150" height="50" alt=""/>

    Hier hast du eine relative Bildaddresse. Sicher, dass das so gedacht ist / funktionieren kann? Bräuchtest du in einer E-Mail nicht viel eher eine absolute Angabe inklusive Protokoll und Domain?

    Grüße,

    RIDER

    --
    Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
    ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
    1. Hi RIDER

      Danke für deine antwort. hab im org script ne absolute adresse als src.
      wollte die org adresse nicht ins forum schreiben

      lg
      micha

  2. hi,

    In der empfangenen Mail sehe ich zwar das Kästchen vom Image, aber kein Image. Im Kästchen steht das ich mit rechter Maustaste das Bild downloaden kann. Wo liegt mein Fehler ?

    In dem Glauben daran, dass ein eMail-Client das src-Attribut im img-Tag verwendet, um die Bildressource downzuloaden.

    Vorschlag: Guck Dir an, wie eine MIME-Mail aufgebaut sein muss, denke bitte daran, dass nicht jeder eMail-Client HTML-Mails darstellen kann und nutze dazu am besten den Content-Type: Multipart/Alternative.

    MfG

    1. hi hotti

      danke für deine antwort. bringt aber irgendwie nicht weiter.
      hab mir des mime zeug angeschaut und kann keinen fehler entdecken

      lg
      micha

    2. Hi tropenberta,

      In der empfangenen Mail sehe ich zwar das Kästchen vom Image, aber kein Image. Im Kästchen steht das ich mit rechter Maustaste das Bild downloaden kann. Wo liegt mein Fehler ?

      Lädt Dein E-Mail Client eingebundene Bilder automatisch herunter? Soweit ich weiß ist es oft in Mail Clients aus Sicherheitsgründen erst durch einen Eingriff durch den Benutzer möglich eingebundene Bilder nachzuladen.
      Bedenke dabei, dass nciht jeder E-mail Client HTML-mails darstellen kann und es mindestens eine reine Textvariante mail als Alternative geben sollte.

      Du schreibst, dass Du einen absoluten Pfad zum Bild angegeben hast. Nur mal nachgefragt:
      D.h. du verwendest eine http-Adresse, zum Beispiel http://example.com/bild.jpg ?
      Dies bedeutet, dass der E-mail Client zum Zeitpunkt der Darstellung die Daten aus dem Internet laden soll.

      Setzt Dich mal mit dem Versand von MIME-Mails auseinander. Es besteht zudem die Möglichkeit Bilddaten direkt (inline) in die Mail mit zu integrieren. So muss der Empfänger der Mail lediglich die Mail einmal herunter laden und benötigt zur Darstellung keine Onlineverbindung.

      Gruß,
      the-FoX

  3. <img src="dw_logo_rgb_300ppi.jpg" width="150" height="50" alt=""/>
       Testmeldung

    In der empfangenen Mail sehe ich zwar das Kästchen vom Image, aber kein Image. Im Kästchen steht das ich mit rechter Maustaste das Bild downloaden kann. Wo liegt mein Fehler?

    Wie schon geschrieben lädt kein ernstzunehmendes Mailprogramm einfach so beim Öffnen einer E-Mail Daten aus dem Netz nach. Der Grund ist schlichtweg, dass es niemanden etwas angeht, wann der Empfänger seine E-Mails liest – mit eindeutigen URLs und automatischen Laden könnte der Absender bequem den Empfänger kontrollieren.
    Das ist der Grund für das Kästchen mit dem Download-Hinweis auf deinem Bildschirm.

    Wie auch schon angedeutet, lassen sich Grafiken in der E-Mail selbst verschicken. Wie so eine Mail im Detail aussieht, erfährst du am einfachsten, indem du dir selbst eine HTML-Mail mit eingebundener Grafik schickst.

    Im Groben sieht das so aus:

    From: ..
    To: ..
    MIME-Version: 1.0
    Content-Type: multipart/alternative; boundary="------------020607010104010303040608"

    --------------020607010104010303040608
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: 7bit

    Hier E-Mail in normalem Textformat.

    --------------020607010104010303040608
    Content-Type: multipart/related;
     boundary="------------060505070009060907040907"

    --------------060505070009060907040907
    Content-Type: text/html; charset=us-ascii
    Content-Transfer-Encoding: 7bit

    <html><head></head><body>

    Hier E-Mail in HTML-Format.

    <img src="cid:02070606@example.com">

    </body></html>

    --------------060505070009060907040907
    Content-Type: image/png; charset=UTF-8
    Content-Transfer-Encoding: base64
    Content-ID: 02070606@example.com

    /9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgXBQQEBQoHBwYIDAoM
    base64-kodierte Grafikdaten
    mtWrVq1atWrVpwuMwxBUYW+f/wAEgh//2Q==
    --------------060505070009060907040907--

    --------------020607010104010303040608--

    Die angehängte Grafik bekommt eine Content-ID, über die sie im <img> mit einer cid:-URL angesprochen wird.

    Beachte auch die zweifache Verschachtelung. Die äußere Hülle stellt mittels multipart/alternative sowohl eine Text- als auch eine HTML-Fassung derselben E-Mail zur Verfügung. Dies solltest du unbedingt beibehalten, nicht jeder kann oder mag HTML-Mails ansehen.

    Die innere Hülle mit multipart/related stellt das HTML-Dokument dar, bestehend aus dem text/html- und dem image/png-Teil.