Прочитал все темы на форуме, которые касаются использования функции mail(), перепробовал много способов. Но нужного резултьтата не достиг. Не могу разобраться. Долго крепился. ПОМОГИТЕ!!!
Проблема в следующем: формирую хтмл-письмо и с помощью mail() отсылаю, но необходимо, чтобы в теле письма у получателя отображалась картинка. Прочитал описание MIME, но ясности не прибавило.
Использую код, который RomikChef, привел в одном из советов:
function sendmsg($to, $subject, $text, $from, $file, $type) {
$content = fread(fopen($file,"r"),filesize($file));
$content = chunk_split(base64_encode($content));
$uid = strtoupper(md5(uniqid(time())));
$name = basename($file);
$header = "From: $from\\nReply-To: $from\\n";
$header .= "MIME-Version: 1.0\\n";
$header .= "Content-Type: multipart/mixed; boundary=$uid\\n";
$header .= "--$uid\\n";
$header .= "Content-Type: text/html\\n";
$header .= "Content-Transfer-Encoding: 8bit\\n\\n";
$header
.= "$text\\n";
$header
.= "--$uid\\n";
$header .= "Content-Type: $type; name=\\"$name\\"\\n";
$header .= "Content-Transfer-Encoding: base64\\n";
$header .= "Content-Disposition: attachment";
$header .= "$content\\n";
$header .= "--$uid--";
@mail($to, $subject, "", $header);
return true;
}
Вызов этой функции:
while ($rowmail = mysql_fetch_array($allmailaddr))
{
$usermail = $rowmail["usermail"];
$subject = "Обзор последних новостей от ".date("d.m.Y")."";
$from = "derbyt@mail.ru";
$file = "http://site.ru/news/img/image.gif";
$type = "image/gif";
sendmsg($usermail, $subject, $htmlmail, $from, $file, $type);
}
В результате работы юзер все-таки получает письмо и даже файл рисунка в нем есть, но он в письме не отображается (в Бате показывает ошибку), а сам рисунок в Бате появляется еще одной вкладкой внизу письма. Размер файла рисунка 0, и соответственно ничего не отображается.
Пробовал использовать для этих целей Pear, но почта с сервера вообще не уходит (но сообщения об ошибках нет).
В рассылке, которая приходит в виде ХТМЛ с картинками, в коде ХТМЛ ссылки на картинки указаны типа:
<img src="cid:advert/mdigital/030124megafon.jpg">Но что значит этот cid, нигде не нашел. Подскажите.