Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

письмо с аттачем

333
12 мая 2005 года
GHopper
200 / / 28.12.2004
Здравствуйте!
Много уже написано на эту тему, но все-равно я не могу разобраться с одним вопросом! Как отправить письмо с телом html, чтобы в тело были вставлены картинки?
Вот как делаю:

Код:
<html>
<body>
<?php

// &#231;&#224;&#227;&#238;&#235;&#238;&#226;&#234;&#232;
$headers = "From: <xxx@mail.ru>\n";
$headers .= "Reply-To: <xxx@mail.ru>\n";
$headers .= "MIME-Version: 1.0\n";

// &#226; &#238;&#228;&#237;&#243; &#241;&#242;&#240;&#238;&#247;&#234;&#243;
$headers .= "Content-Type: multipart/mixed; type=\"multipart/alternative\"; boundary=\"----=MIME_BOUNDRY_main_message\"\n";

$headers .= "X-Sender: Programm<xxx@mail.ru>\n";
$headers .= "X-Mailer: PHP4\n";
$headers .= "X-Priority: 3\n";
$headers .= "Return-Path: <xxx@mail.ru>\n";
$headers .= "------=MIME_BOUNDRY_main_message \n";

// html
$message .= "----=MIME_BOUNDRY_main_message\n";
$message .= "Content-Type: text/html;\n    charset=\"windows-1251\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n";
$message .= "\n";

// &#231;&#228;&#229;&#241;&#255;
$message .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
$message .= "<HTML><BODY>\n";
$message .= "&#207;&#240;&#232;&#226;&#229;&#242;! &#203;&#238;&#226;&#232; &#244;&#224;&#233;&#235;!";
$message .= "<IMG src=\"cid:some_attach\">";
$message .= "</BODY></HTML>\n";
$message .= "\n";

// &#234;&#238;&#237;&#229;&#246;
$message .= "------=MIME_BOUNDRY_main_message\n";
$message .= "\n";

$file = fopen('JPG.jpg','rb');
$data = fread($file,filesize('JPG.jpg '));
fclose($file);

$FileContent=chunk_split(base64_encode($data));


// &#228;&#238;&#225;&#224;&#226;&#235;&#255;&#229;&#236; &#224;&#242;&#224;&#247;&#236;&#229;&#237;&#242;&#251;
$message .= "------=MIME_BOUNDRY_main_message\n";
$message .= "Content-Type: application/octetstream; name=\"JPG.jpg\"\n";
$message .= "Content-Transfer-Encoding: base64\n";
$message .= "Content-ID: <some_attach>\n";
$message .= "\n";

$message .= $FileContent;
$message .= "\n";

//&#234;&#238;&#237;&#229;&#246; &#241;&#238;&#238;&#225;&#249;&#229;&#237;&#232;&#255;
$message .= "------=MIME_BOUNDRY_main_message--\n";

$f = mail($var_mail, $subject, $message, $headers);
if ($f) {
?>
<SCRIPT>
alert('&#212;&#224;&#233;&#235; &#238;&#242;&#239;&#240;&#224;&#226;&#235;&#229;&#237;.');
</script>
</body>
</html>
<?
  }
  else {
?>
<SCRIPT>
alert('&#212;&#224;&#233;&#235; &#237;&#229; &#238;&#242;&#239;&#240;&#224;&#226;&#235;&#229;&#237;.');
</script>
</body>
</html>
<?
  }
?>

Загвозка в том, что картинка <IMG src=\"cid:some_attach\"> не находится! Даже указав абсолютный путь, я не могу заставить ее отображаться.

Примного благодарен за помощь.
5.8K
12 мая 2005 года
a__sergey
19 / / 13.10.2004
длинный код ты написал, лень читать и искать в чём ошибка.
могу дать проверенную функцию.
function send_mime_mail($tomail, $subject, $message, $files)
{
$headers="From:
Reply-To:
Organization:
X-Priority: 3 (Normal)
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary=\"----------6D21133B9A9485\"\n
------------6D21133B9A9485
Content-Type: text/html; charset=Windows-1251
Content-Transfer-Encoding: 8bit

$message\n";

$mime="";

for ($i=0; $i<count($files); $i++)
{
$attachment = file_get_contents($files[$i]);
$fname = pathinfo($files[$i]);
$fname=$fname["basename"];
$fanme1=$files[$i];

if (strpos($fanme1,".doc")<>false) $fname="Подробности сотрудничества.doc";

$mime.="------------6D21133B9A9485
Content-Type: application/gzip;name=\"$fname\"\nContent-Transfer-Encoding: base64
Content-Disposition: attachment; filename=\"$fname\" \n\n".chunk_split(base64_encode($attachment))."\n\n";

}
$mime.="------------6D21133B9A9485--\n";
$headers=$headers.$mime;
$headers=str_replace("\r","",$headers);
mail($tomail, $subject, "", $headers.$mime);
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог