Witam ponownie.
Oto gotowy przykład moze komuś się przyda lecz problem w tym ze kiedy sle maila na @gmail zdjecia jest dołączone ale np. jesli sle na poczte onet-u zdjecia nie ma

$opis = "blablabla";
$sep = sha1(date('r', time()));
$inline = chunk_split(base64_encode(file_get_contents('logo.png')));
$temat = "temat";
$headers = 'From: mailer@costam.pl' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$headers .=
"\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-{$sep}\"";
// tutaj poczatek tresci. BTW pierwszy raz sie spotykam z tym EOBODY - nawet nie wiedzialem ze tak mozna przechowywac dane - zupelnie jak po za znacznikami <??> jak w czystym html tylko zmienne trzeba wstawiac pomiedzy klamrami {}
$body2 =<<<EOBODY
--PHP-mixed-{$sep}
Content-Type: multipart/alternative; boundary="PHP-alt-{$sep}"
--PHP-alt-{$sep}
Content-Type: multipart/related; boundary="PHP-related-{$sep}"
--PHP-related-{$sep}
Content-Type: text/html
<img src="cid:PHP-CID-{$sep}" />
<br>
{$opis} // tutaj cala tresc jaka chcesz miec w majlu
--PHP-related-{$sep}
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-ID: <PHP-CID-{$sep}>
{$inline} // ta zmienna wstawia obrazek
--PHP-related-{$sep}--
--PHP-alt-{$sep}--
--PHP-mixed-{$sep}--
EOBODY;
mail("adres@",$temat,$body2,$headers);
Teraz tylko dlaczego jeden serwer 'widzi' zdjecie a inny nie. Np. na onecie nie ma wogole tresci /nawet tekstu w majlu/ Ze wszystkiego tylk temat jest.