[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Посылка писем с аттачами
борис
Подскажите пожалуйста как слать письма с вложениями и в формате html? Если возможно не через сокеты, а то чё-то я сними никак не разберусь. Возможно ли через mail(), добавив в заголовок что-то типа multipart/mixed, а далее закодированный аттач?



Спустя 43 минуты, 5 секунд (16.08.2006 - 13:39) vasa_c написал(а):
взгляни на эту вещь — http://pear.php.net/package/Mail

Так же почитай — http://xpoint.ru/forums/programming/PHP/th...ead/21592.xhtml

Спустя 33 минуты, 12 секунд (16.08.2006 - 14:12) Leningrad00 написал(а):

function send_mail($to, $thm, $html, $path)
{
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);
$path = substr($path,12);

$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "MIME-Version: 1.0 ";
$headers .="Content-Type: multipart/mixed; boundary="$boundary" ";
$multipart = "--$boundary ";
//$kod='windows-1251';
$kod='koi8-r';
$multipart .= "Content-Type: text/html; charset=$kod ";
$multipart .= "Content-Transfer-Encoding: Quot-Printed ";
$multipart .= "$html ";

$message_part = "";
$message_part .= "Content-Type: application/octet-stream";
$message_part .= "; file_name = "$path" ";
$message_part .= "Content-Transfer-Encoding: base64 ";
$message_part .= "Content-Disposition: attachment; filename = "".$path."" ";
$message_part .= chunk_split(base64_encode($file))." ";
$multipart .= "--$boundary ".$message_part."--$boundary-- ";

if(!mail($to, $thm, $multipart, $headers))
{
echo "К сожалению, письмо не отправлено";
exit();
} else{echo "Шоколад";};
}
?>

Спустя 38 минут, 24 секунды (16.08.2006 - 14:50) борис написал(а):
Leningrad00 ты - маг. Подскажи ссылку где можно почитать все заголовки MIME. В твоём коде есть строчка Content-Disposition: attachment; А если я хочу передать фоновый рисунок хтмл документа, то размещение должно быть другое, как я понимаю?

Спустя 34 минуты, 44 секунды (16.08.2006 - 15:25) Leningrad00 написал(а):
Все заголовки можно почитать в гугле и в яндексе.
Раз ты так понимаешь, так и есть.
Код не мой, нефек врать; найден по первому запросу в гугле.

Спустя 23 часа, 13 минут, 18 секунд (17.08.2006 - 14:38) борис написал(а):
Нашёл как вставит рисунок в письмо: content-disposition: inline; но когда посылаю письмо<br>
<html>
<head><style>
h2 {font-weight: normal; color: navy; font-size: 20pt; font-family: georgia}
</style></head>
<body bgcolor=gold background=sf4.gif><h2>This is a test</h2></body></html>

рисунок не становится фоном!!!Он просто прикрепляется в конец сообщения. Как же его всё-таки сделать фоном, кто подскажет?

Спустя 20 часов, 52 минуты, 31 секунда (18.08.2006 - 11:31) борис написал(а):
Всё сделал.
Надо при посылке изображений дописывать заголовок
$message_part .= "Content-ID: <".$id."> ";
$id - любой идентификатор
а в хтмл коде писать так
$html="

This is a test

";
единственная проблемка, котрую я скорее всего не могу решить, это приём письма яндексом.
Если поставить content-disposition: inline, яндекс выводит этот рисунок в конце письма.
Если же поменять значение на attachment, либо совсем убрать то кладёт рисунок в аттач.
Ну и не отображает имя файла в аттаче, заменяя его noname несмотря на то что, в заголовке пришедшего письма имя прописано


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.