Нужно отправить письмо в виде html страницы с картинкой, и плюс вложить вордовский файл. После поисков в интернете на данную тему, соорудила такой скрипт:
PHP |
function send_mail($to, $thm, $html, $path, $img) { $fp = fopen($path,"r"); if (!$fp) { print "Файл $path не может быть прочитан"; exit(); } $file = fread($fp, filesize($path)); fclose($fp); $boundary = "--".md5(uniqid(time())); // $headers .= "MIME-Version: 1.0\n"; $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; $multipart .= "--$boundary\n"; $kod='koi8-r'; $multipart .= "Content-Type: text/html; charset=$kod\n"; $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"; $multipart .= "$html\n\n";
$message_part = ""; $message_part .= "Content-Type: application/octet-stream"; $message_part .= "; file_name = \"$path\"\n"; $message_part .= "Content-Transfer-Encoding: base64\n"; $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"; $message_part .= chunk_split(base64_encode($file))."\n"; $message_part.="--$boundary\n"; $message_part.="Content-Type: image/jpeg; name=\"".basename($img)."\"\n"; $message_part .= "Content-Disposition: inline; name=\"".basename($img)."\"\n"; $message_part.="Content-Transfer-Encoding:base64\n"; $message_part.="Content-ID: <imgid_5>\n"; $f=fopen($img,"rb"); $message_part.=base64_encode(fread($f,filesize($img)))."\n"; $multipart .= "--$boundary\n".$message_part."--$boundary--\n";
if(mail($to, $thm, $multipart, $headers)) { echo "<center>Письмо было успешно отправлено!</center>"; } else { echo "<center>Сообщение не отправлено!</center>"; };}; |
в содержимом $html указываю ссылку на картинку <img src='cid:imgid_5'>...
Но письмо приходит только с вложенным файлом, в тексте письма картинка не видна. Помогите исправить
Спустя 1 час, 14 минут, 22 секунды (5.06.2009 - 16:27) FatCat написал(а):
Спамфильтрами не режется?
Я писал что-то подобное, в локалке и между корпоративными серверами всё ходило отлично, а на всякие джимейлы-мейлы-яндексы - фиг.
Спустя 2 дня, 19 часов, 43 минуты, 52 секунды (8.06.2009 - 12:11) Yulk написал(а):
на mail.ru доходит, проверяла...
Спустя 17 дней, 11 часов, 3 минуты, 49 секунд (25.06.2009 - 23:15) UnWind написал(а):
Цитата |
Вот здесь нашла решение: Отправка письма с вложением и картинкой, может еще кому-нибудь пригодится.... |
Спасибо за ссылочку, обязательно поюзаю.
Хочеться туда ещё анти спам воткнуть)))