Forum Webscript.Ru

Программирование => PHP => Тема начата: lbpf от 17 Декабря 2003, 06:17:46

Название: Как сформировать заголовок для письма
Отправлено: lbpf от 17 Декабря 2003, 06:17:46
Как правильно сформировать заголовок для письма Html-ного с вложенной в него картинкой, а то у меня получается картинку только приаттачить. А хотелось бы чтобы она отображалась в хтмл-е.

$dir-директория
$filename=файл
$text=соот хтмл

$f         = fopen($dir.$filename,"rb");
$un        = strtoupper(uniqid(time()));
$head      = "From: $from\\r\\n";
$head     .= "To: $to\\r\\n";
$head     .= "Subject: $subj\\r\\n";
$head     .= "X-Mailer: PHPMail Tool\\r\\n";
$head     .= "Reply-To: $from\\r\\n";
$head     .= "Mime-Version: 1.0\\r\\n";
$head     .= "Content-Type:multipart/mixed;";
$head     .= "boundary=\\"------------".$un."\\"\\r\\n\\r\\n";
$zag       = "------------".$un."\\r\\n";
$zag .= "Content-Disposition: inline\\r\\n";
$zag .= "Content-Length: $len\\r\\n";
$zag .= "Content-Transfer-Encoding: binary\\r\\n";
$zag .= "Content-Type: text/html;  charset=windows-125\\r\\n$text\\r\\n\\r\\n";
$zag      .= "Content-Type: image/jpg;";
$zag      .= "name=\\"$filename\\"\\r\\n";
$zag      .= "Content-Transfer-Encoding: base64\\r\\n";
$zag      .= "Content-ID: <$filename>\\r\\n\\r\\n";
$zag      .= "Content-Disposition:attachment;";
$zag      .= "filename=\\"$filename\\"\\r\\n\\r\\n";
$zag      .= chunk_split(base64_encode(fread($f,filesize($dir.$filename))))."\\n";

if (!@mail("$to", "$subj", $zag, $head))
 return 0;
else
 return 1;
}
 

Но картинка просто аттачится :((


в поле $text  картинка выглядит так
""
Название: Как сформировать заголовок для письма
Отправлено: Меняздесьдавнонет от 17 Декабря 2003, 12:56:21
в поиске должно быть

у тебя писмо multipart, но я что-то не заметил в нем частей.
Название: Как сформировать заголовок для письма
Отправлено: lbpf от 18 Декабря 2003, 05:09:27
В общем чтобы нормально отображалась картинка в теле письма надо сделать так:


function XMail( $from, $to, $subj, $text, $filename) {
    $dir="директория";
    $f         = fopen($dir.$filename,"rb");
    $un        = strtoupper(uniqid(time()));
    $head      = "From: $from\\r\\n";
    $head     .= "To: $to\\r\\n";
    $head     .= "Subject: $subj\\r\\n";
    $head     .= "X-Mailer: PHPMail Tool\\r\\n";
    $head     .= "Reply-To: $from\\r\\n";
    $head     .= "Mime-Version: 1.0\\r\\n";
    $head     .= "Content-Transfer-Encoding:8bit\\r\\n";
    $head     .= "Content-Type:multipart/related;";
    $head     .= "boundary=\\"----------".$un."\\"\\r\\n\\r\\n";

    $zag       = "------------".$un."\\r\\nContent-Type:text/html; charset=\\"Windows-1251\\"\\r\\n";
    $zag      .= "Content-Transfer-Encoding: 8bit\\r\\n\\r\\n$text\\r\\n\\r\\n";
    $zag      .= "------------".$un."\\r\\n";
    $zag      .= "Content-Type:image/gif;";
    $zag      .= "name=\\"".$filename."\\"\\r\\n";
    $zag      .= "Content-Disposition:inline;";
    $zag      .= "filename=\\"".$filename."\\"\\r\\n";
    $zag      .= "Content-ID: ".$filename."\\r\\n";
    $zag      .= "Content-Transfer-Encoding:base64\\r\\n";
    $zag      .= chunk_split(base64_encode(fread($f,filesize($dir.$filename))))."\\r\\n";
    $zag      .= " ------------".$un."\\r\\n\\r\\n";
    return @mail("$to", "$subj", $zag, $head);
}

Спасибо за внимание :)