Witam po raz pierwszy na tym forum:) Nie miałem nigdy za wiele do czynienia z php, ale chyba się zaczyna...
Mianowicie dostałem zlecenie na wykonanie szablonu e-mail zawierającego w treści obrazki. Potrafię wysłać e-mail jako stronę html, a wiec obrazki i wszystko wyświetla się tak jakbym chciał - grafika wczytywana jest ze zewnętrznego serwera, a wiec e-maile nie zawierają załączników.
Problem polega na tym, że gdy ktoś wejdzie w e-mail, do akcji wkraczają teksty typu "Obrazki dla tej strony zostały zablokowane. Kliknij tutaj aby je odblokować".
Dopiero po kliknięciu na ten napis, obrazki pojawiają się w treści. Jest tak w róznych klientach pocztowych - z uwzględnieniem Outlooka...
Zauważyłem, że niektóre firmy reklamujące swoje usługi, przysyłają do mnie e-maile, gdzie nie trzeba klikać na żaden napis, bo grafika wyświetla się od razu po włączeniu e-maila. Jak można coś takiego zrobić?
Na pewno, tak jak na każdym innym forum, zaraz ktoś mi napisze "poczytaj clasy PhpMailer", "do tego służy PhpMailer - jest najlepszy" itp.
Niestety nic mi to nie daje. Mam ten PhpMailer na kompie i nie mam zielonego pojęcia, co z tym zrobić. Angielski zam tak sobie, a php, tak jak wspominałem - wcale.
Spostrzegłem, że w e-mailach które od razu wyświetlają grafikę (czyli to do czego dążę) zamiast standardowego
<img src="obrazek.jpg"> jest coś takiego: <img src="cid:2820cc9aaf9e4c4673d92622bd04fbc7">
Pojęcia nie mam skąd te cid'y.
Przeglądając dokumentacje, znalazłem taką komendę:
function AddEmbeddedImage($path, $cid, $name = "", $encoding = "base64",
$type = "application/octet-stream") {
if(!@is_file($path))
{
$this->SetError($this->Lang("file_access") . $path);
return false;
}
$filename = basename($path);
if($name == "")
$name = $filename;
// Append to $attachment array
$cur = count($this->attachment);
$this->attachment[$cur][0] = $path;
$this->attachment[$cur][1] = $filename;
$this->attachment[$cur][2] = $name;
$this->attachment[$cur][3] = $encoding;
$this->attachment[$cur][4] = $type;
$this->attachment[$cur][5] = false; // isStringAttachment
$this->attachment[$cur][6] = "inline";
$this->attachment[$cur][7] = $cid;
return true;
}
[/size]
Domyślam się że to jest rozwiazanie mojego problemu. Ale co z tym zrobić? Gdzie wkleić?
Nie piszcie prosze nic w stylu "dodaj to do klasy i po sprawie" bo nic nie zrozumiem.
Bardzo bym prosił, aby ktoś napisał KROK PO KROKU jak wykonać takiego e-maila. NIGDZIEw necie nie ma tego wyjaśnionego - szukałem już 4 dni, kombinowałem i nic. Piszcie, jak do dziecka:)
Z góry bardzo dziękuję!