Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wysyłanie maila przez mail() z obrazkami w treści wiadomości
Forum PHP.pl > Forum > PHP
1q2w3e4r
Witam,

Jak wysłać maila z obrazkami w treści, które będą się poprawnie wyświetlać?
W tej chwili do tworzenia wiadomości email html używam TinyMCE, wstawiając zdjęcie do wiadomości po dostarczeniu tej wiadomości zdjęcia się nie wyświetlają..

Proszę o pomoc z przykładem użycia.
Dziękuję.
nospor
Zdjęcia żeby były widoczne w mailu to muszą być dodane jako załączniki do tego maila zaś w samej treści HTML odpowiednio wpisane.

Ewentualnie można w IMG SRC="" podać ścieżkę do zewnętrzenego serwera, np:
<img src="http://innyserwer.pl/obrazek.jpg"
ale i to zadziala pod warunkiem, ze klient pocztowy tego nie blokuje.
1q2w3e4r
Dziękuję za odpowiedź.
Własnie ten TinyMCE dodaje zdjęcia w html z zewnętrznym linkiem i niestety nie wyświetla ich. A jak wejde w źródło to jest zmienione na, np:
Kod
http://poczta.onet.pl/"http:/strona.pl/images/arljhk.jpg/"

Nie wiem co jest nie tak jak powinno być.
Czasami przychodzą do mnie tez maile gdzie jest obrazek zewnętrzyny, nie ma go w załączniku, a wyświetla się od razu bez potrzeby klikania "Pokaż zdjęcia".
Szukałem w sieci ale te rozwiązania coś nie działają.
nospor
1) Mail ma być typu HTML
2) Spójrz przed wysłaniem maila jak wygląda źródło. Czy przed samym wysłaniem maila w źródle jest poprawny IMG SRC czy nie.
Jeśli nie, to masz problem na etapie tinymce.
Jeśli tak to tak opcja odpada. maile nie są same z siebie zamieniane na coś innego wink.gif
1q2w3e4r
Mail idzie jako html.

TinyMCE wypluwa przed wysłaniem wiadomości:
Kod
<p>Witam,</p>
<p> </p>
<p>W załaczniku tej wiadomości email przesyłam zdjęcie:</p>
<p><img src=\"http://i.pinger.pl/pgr451/f34188dc000082ad4f354b6d/jaki%C5%9B%20stworek%20%5E%5E.jpg\" alt=\"\" width=\"200\" height=\"89\" /></p>
<p> </p>
<p>Pozdrawiam</p>


Mail idzie tak:

Kod
      $message = "$_POST[tresc]\r\n";

        $header = "MIME-Version: 1.0".PHP_EOL;
        $header .= "From: ZMID <biuro@mail.pl>".PHP_EOL;
        $header .= "Reply-to: biuro@mail.pl <biuro@mail.pl>".PHP_EOL;
        $header .= "X-Mailer: NorMail".PHP_EOL;
        $header .= 'Content-type: text/html; charset="utf-8'.PHP_EOL;

        mail($_POST['test_email'],$temat1,$message,$header) or die('Nie udało się wysłać wiadomości');
nospor
No widzisz, tresc nie powinna wygladac tak:
<img src=\"http://strona.pl/images/argfyulk.jpg\"
tylko powinna wygladac tak:
<img src="http://strona.pl/images/argfyulk.jpg"

Albo masz włączone magic_quotes (wyłącz je) albo tinymce ci coś sam z tym robi
1q2w3e4r
Wysyłając maila bez tinymce czyli tak:
Kod
    $message = '
    <html>
    <head>
        <title>Tytul strony</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body style="background-color:#fff">
        <p>Witam,</p>
        <p> </p>
        <p>W załaczniku tej wiadomości email przesyłam zdjęcie:</p>
        <p><img src="http://i.pinger.pl/pgr451/f34188dc000082ad4f354b6d/jaki%C5%9B%20stworek%20%5E%5E.jpg" alt="" width="200" height="89" /></p>
        <p> </p>
        <p>Pozdrawiam</p>
    </body>
    </html>
    '."\r\n";


Również nie wyświetla się obrazek w treści wiadomości. Nie wiem niestety co jest tego przyczyną;/
nospor
No a źródło odebranego maila jak wygląda?
1q2w3e4r
Dziękuję za odpowiedź.
Ok, obrazek się już wyświetla. Problemem były spacje w nazwie obrazka.



Mam jeszcze pytanie.
Jak wysyłać maile aby nie trzeba było klikać "pokaż obrazek" oraz aby nie wyświetlało ich z załącznika.
Na pewno da się tak zrobić ponieważ czasami reklamy tak wysyłają.
nospor
To musi być obrazek załączony jako EMBEDED czy jakoś tak. A w kodzie html odwołujesz się przez ID tego obrazka.
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.