Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłanie e-mail w php i kod html z grafiką
Forum PHP.pl > Forum > PHP
fiasko
Napisałem sobie klasę , która wysyła mi e-mail z ładnym szablonem graficznym. Problem w tym , że nie podoba mi się, że grafika była wczytywana z zewnętrznego serwera. Wystarczy , że ktoś nie będzie miał neta i będzie miał problem z odczyszczaniem tej wiadomości.


Wobec tego stwierdziłem , że grafikę prześlę jako załącznik. Poprawiłem klasę i e-maile mi dochodzą z załącznikiem i kodem html.

Problemy jakie mi pozostały są dwa .

1 - jak podlinkować grafikę wewnątrz szablonu .
2. jak ukryć załączniki w programie e-mailowym żeby to nie było widoczne.

Nie piszcie mi proszę tylko o gotowych klasach tylko proszę o wyłożenie kawy na ławę jak to działa.

Dodam , że
Kod
<img src="cid:nazwa_pluku.jpg">
działa tylko w niektórych programach pocztowych.

Jak zatem linkować uniwersalnie grafikę ?
redeemer
Poczytaj o Embedded images w mailach.
fiasko
to w takim razie w uroszczeniu to przedstawiam ko :
Proszę o sprawdzenie czy dobrze daję nagłówki i czy wszystko jest w odpowiedniej kolejności.
Kod
    $from = 'Fiasko <fiakso@fiakso.pl>';
          $mimeType  = 'text/html';
          $replyto = 'Fiasko <fiakso@fiakso.pl>';
          $xMailer = "X-mailer WEB";    
          $naglowki .= 'From: ' . $from . "\n";  
        $naglowki .= 'Reply-to: ' . $replyto . "\n";  
        $naglowki .= 'X-Mailer: ' . $xMailer . "\n";  
        $naglowki .= "MIME-Version: 1.0\n";  

                srand((double)microtime() * 1000000);  
           $marker = md5(uniqid(rand()));  
              echo     "<br><br>marker ".$marker.'<br>';
           $naglowki .= "Content-Type: multipart/related;\n";  
           $naglowki .= "\tboundary=\"___" . $marker . "==\"\n\n";
                  
           $tresc = "--___" . $marker . "==\n";  
           $tresc .= 'Content-Type: text/html; charset="iso-8859-2"'."\n";  
                $tresc .= "Content-Transfer-Encoding: 8bit\n\n";
                $tresc .= $tresc_html; // w tej zmienne dajemy kod html
                $tresc .= "\n\n--___" . $marker . "==\n";
                
                $tresc .= "Content-Type: image/jpeg; name=" . $nazwa_docelowa . "\n";
              
                $tresc .= "Content-Transfer-Encoding: base64\n";
                // $tresc .=  "Content-ID: <produkt> \n";
               $tresc .=    "Content-ID: <produkt.jpg>";
                $tresc .= "Content-Disposition: attachment; filename=\"" . $nazwa_docelowa . "\"\n\n";
                   
            

             $tresc.=  chunk_split(base64_encode($contents_plik));
                 $tresc.= "--___" . $marker . "==--\n\n";


W ten sposób działa pod WP.pl outllook 2007, tlen.pl

Nie działa pod:
onet.pl, outlook express 6

Ciąg dalszy ;;;;;;;;;;;;;;;;;;;;;;;;;;

Dobra - zrobiłem sobie . Działa już wszędzie jak daje obrazek <img src:"cid:obrzek.jpg"> .
Sprawdzałem na o2.pl , wp.pl onet.pl, gmail, outlook 2007, outlook express 6 . Reszta mnie nie interesuje smile.gif

Ciąg dalszy ;;;;;;;;;;;;;;;;;;;;;;;;;;

Mam pytanie czy można dawać w stalach też grafikę ? Chodzi o to żeby działało mi to jako tło .

Bo z tym to nie udało mi się nic zrobić. Z

Próbowałem zrobić to tak w stylach jak poniżej - zakodowałem również obrazek :

Kod
background-image:  url(cid:zdjecie.jpg);


Potem ktoś tu na forum pisał żeby zrobić jako bacground w html bez styli :

Kod
<td width="100" height="100" background="zdjecie.jpg">napis na tle</td>


Żadna z tych opcji nie działa w outlook 2007 , gmail , wp.pl (jest blokowane)

Działa co jedynie : na o2.pl, onet.pl

Jakieś pomysły ? Czy raczej nie ma na to sposobu ?[size="4"][/size]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.